PDF我有Python中的GUI程序,它计算的某些功能图。这些函数的数学就好说了,COS(THETA)等。目前我保存了这些功能的图形和其编译为PDF乳胶和乳胶手动写下方程式。Python的出口计划使用乳胶格式
但现在我想通过创建乳胶的模板安排,功能名称,图形,公式和表格,并将它们符合到一个单一的PDF格式,只需点击简化这个过程。
可以这样做吗?我该怎么做? 谢谢。
PDF我有Python中的GUI程序,它计算的某些功能图。这些函数的数学就好说了,COS(THETA)等。目前我保存了这些功能的图形和其编译为PDF乳胶和乳胶手动写下方程式。Python的出口计划使用乳胶格式
但现在我想通过创建乳胶的模板安排,功能名称,图形,公式和表格,并将它们符合到一个单一的PDF格式,只需点击简化这个过程。
可以这样做吗?我该怎么做? 谢谢。
产生乳胶file.tex
与Python脚本
F =打开( “file.tex”, 'W')
f.write('\的DocumentClass [12磅] {物品} \ N ')
f.write(' \ usepackage {MULTICOL} \ N ')
f.write(' \ n \ {开始文档} \ n \ n')
...
f.write( '\ {结束}文件')
f.close()
从Python脚本乳胶文件作为子进程运行pdflatex
subprocess.call(“胶乳file.tex”)
作为替代1.可以生成胶乳模板,只是替代可变填充全光照g Python正则表达式和字符串替换。
虽然matplotlib(例如)不仅可以为PDF输出PDF,但也可以渲染LaTeX方程,甚至可以产生表格,我怀疑你想要的是pyPDF2,它是一个包,允许你单独导入创建PDF,逐页,并将它们连接成一个新的PDF。优秀的小工具pdfshuffler在基于(基于python的)GUI中使用这种方法。
在另一方面,如果你坚持创建一个单一的乳胶文件传递给pdflatex,那么你就可以做到这一点使用字符串操作。类似:
text = open('template.tex')
complete = text.format(name,graph,equation,table)
open('temp.tex','w').write(complete)
subprocess.call('pdflatex temp')
template.tex
凡含有合适的占位符,{0}
等,以代替格式方法称为胶乳代码。
我已经写了几个程序做这样的事情。我觉得 工程以及有一个模板是这样的:
latex_template = r"""
\documentclass[11pt]{article}
\usepackage[landscape, letterpaper, margin=.75in]{geometry}
\usepackage{txfonts}
...
$preamble
...
$data
\end{document}
""".lstrip()
然后用string.Template
及其substitute
方法将 可变部分扑通到模板。