我和我的教授都使用Linux来运行一些CFD代码,但是我们的PDF输出都没有在Windows上打开( TA用来纠正我的作业)。但是,pdf是开放的,在Linux中没有问题(我的教授使用本机Fedora,我在虚拟机上使用Ubuntu16.04。
下面是我使用的命令行:
enscript --color --pretty-print=cpp Assignment5.cpp --line-numbers -p Assignment5.pdf当我试图打开窗口中的PDF时,我得到了这个错误:

谢谢!
发布于 2017-03-30 08:31:46
enscript 实际上创建了一个postscript文件,而不是一个PDF文件。最有可能的是,Linux系统上使用的PDF查看器也可以显示postscript文件,因此没有抱怨,而Windows上使用的PDF查看器则不能。要在ps2pdf enscript 输出.上实际创建PDF,运行
论enscript
enscript (至少GNU版本)不输出PDF,而是选择其他格式:
generated将ASCII文件转换为PostScript、HTML或RTF,并将生成的输出存储到文件中或直接发送到打印机。
根据其手册页,使用-W /-language选项选择实际的输出格式:
-W [lang], --language[=lang]
Generate output for the language lang. The possible values for
lang are:
PostScript
generate PostScript (default)
html generate HTML
overstrike
generate overstrikes (line printers, less)
rtf generate RTF (Rich Text Format)
ansi generate ANSI terminal control codes您的enscript调用不包括此选项。因此,默认情况下生成postscript。
如何创建PDF
Linux上的一个常见工具是ps2pdf,您可以使用它从enscript postscript输出生成PDF:
ps2pdf -使用幽灵脚本将PostScript转换为PDF ps2pdf12 -使用PostScript脚本将PostScript转换为PDF1.2(Acrobat3和以后兼容) ps2pdf13 -使用PostScript脚本将PostScript转换为PDF1.3(Acrobat4及以后兼容)
根据其手册页,只需命令行上的源postscript和目标PDF文件名即可调用它:
ps2pdf [options...] {input.[e]ps|-} [output.pdf|-]
ps2pdf12 [options...] {input.[e]ps|-} [output.pdf|-]
ps2pdf13 [options...] {input.[e]ps|-} [output.pdf|-]您可能还没有安装幽灵脚本来运行它。
https://stackoverflow.com/questions/43097924
复制相似问题