繁体   English   中英

在Python中将TeX文件转换为图像

[英]Converting TeX file to image in Python

使用这个公认的答案作为参考 ,我一直在尝试将DF熊猫复制 TeX, PDF复制 png食谱。 但是,我的Python 3(使用Jupyter Notebook通过Anaconda Navigator)给我带来了一些麻烦。

我已经在本地磁盘上的以下默认位置安装了MiKTeX:

C:\Users\USERNAME\AppData\Local\Programs\MiKTeX\2.9

我还在以下位置安装了LaTex:

C:\Users\USERNAME\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\notebook\static\components\MathJax\extensions\TeX

但是,当我使用Pandas df对象运行代码块时:

filename = 'out.tex'
pdffile = 'out.pdf'
outname = 'out.png'

template = r'''\documentclass[preview]{{standalone}}
\usepackage{{booktabs}}
\begin{{document}}
{}
\end{{document}}
'''

with open(filename, 'wb') as f:
    f.write(bytes(template.format(df.to_latex()),'UTF-8'))


subprocess.call(['pdflatex', filename], shell=True)
subprocess.call(['convert', '-density', '300', pdffile, '-quality', '90', outname])

它只是返回“ 4”,而从原始df创建的唯一文件是“ out.tex ”。 我希望将DF转换为png图像,以便将整个过程保留在Notebook脚本中。

任何建议将不胜感激。 谢谢。

我使用以下两个流程调用解决了此问题:

subprocess.call('latex -interaction=batchmode -output-directory='+ outpath + ' ' + input_tex_file, shell=True, stdout=open(os.devnull, 'wb'))
subprocess.call('dvipng -q* -T tight -o ' + output_png_file + ' ' + input_dvi_file, shell=True, stdout=open(os.devnull, 'wb'))

您必须首先从原始的乳胶数据创建.tex文件。 然后这些命令首先创建.dvi从文件(和一些额外的辅助文件) .tex文件。 然后,您可以使用dvipng( https://ctan.org/pkg/dvipng?lang=en )创建一个.png文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM