将python代码打印为PDF

将python代码打印为PDF,python,pdf,printing,Python,Pdf,Printing,我必须打印成PDF格式的python脚本。代码应该包含为文本,而不是图像,因为它必须通过反剽窃机制进行检查(我不必考虑这一点,只是要求pdf不是由图像生成的,仅此而已)。还有必要突出显示语法 关于这方面的具体工具,你有什么建议吗?关于反剽窃部分,我帮不了你。要打印带有语法高亮显示的py脚本,传统的工具是enscript: enscript -E -q -Z -p - -f Courier10 readmaya.py | ps2pdf - out.pdf 这里,enscript突出显示语法并生成

我必须打印成PDF格式的python脚本。代码应该包含为文本,而不是图像,因为它必须通过反剽窃机制进行检查(我不必考虑这一点,只是要求pdf不是由图像生成的,仅此而已)。还有必要突出显示语法


关于这方面的具体工具,你有什么建议吗?

关于反剽窃部分,我帮不了你。要打印带有语法高亮显示的py脚本,传统的工具是
enscript

enscript -E -q -Z -p - -f Courier10 readmaya.py | ps2pdf - out.pdf
这里,
enscript
突出显示语法并生成postscript。在将postscript转换为pdf的第二步中,可以使用几种可能的工具中的任意一种。我在这里展示了来自ghostscript包的
ps2pdf

装置 在类似Debian或Unbuntu的系统上,
enscript
可以与以下设备一起安装:

apt-get install enscript
在类似Debian或Unbuntu的系统上,
ps2pdf
是可能已经安装的
ghostscript
包的一部分。如果不是。运行:

apt-get install ghostscript

如果您正在使用vim,则可以执行以下操作:

vim abc.py -c ":hardcopy > abc.ps" -c ":q"
您将获得带有语法突出显示的abc.ps,然后

ps2pdf abc.ps abc.pdf

对于反剽窃检查,您可以使用urllib2进行谷歌搜索,包括您要检查的内容的引用文本:

import urllib2
response = urllib2.urlopen('https://www.google.co.in/search?q="python+curl"')
html = response.read()
阅读SO链接了解更多详细信息

对于pdf打印部分,我通常会创建文本/文档的html模板,然后使用python库生成pdf:

f=open('template.htm','r')
sourceHtml = unicode(f.read(), errors='ignore')
f.close()
sourceHtml = template.render(tvals)
sourceHtml = sourceHtml.replace('__name__',sname)
sourceHtml = sourceHtml.replace('__address__',saddress)
sourceHtml = sourceHtml.replace('__occupation__',soccupation)
packet = StringIO.StringIO() #write to memory
pisa.CreatePDF(sourceHtml,dest=packet)

在html模板中,可以使用
标记格式化脚本。阅读我的全集,了解更多关于python中生成PDF的方法。

我想这里有几个不相关的问题。你能再详细解释一下你的问题吗?您可以通过进入代码编辑器并按“打印”按钮打印任何代码。可能有很多解决方案,但Sphinx可以做到这一点:Notepad++可以导出富文本,以便语法高亮显示保持不变。请查看Plugins>NppExport。您使用的是什么操作系统?除了latex而不是postscript之外,您知道怎么做吗?我使用了
:TOhtml
变体。。。