在Linux中生成的PDF无法在Windows中打开-使用enscript

在Linux中生成的PDF无法在Windows中打开-使用enscript,linux,windows,ubuntu,pdf,enscript,Linux,Windows,Ubuntu,Pdf,Enscript,我的教授和我都使用Linux来运行一些CFD代码,但是我们从enscript中输出的PDF都不能在Windows上打开(TA用它来纠正我的作业)。不过,pdf在Linux中是开放的,没有任何问题(我的教授使用本机Fedora,我在虚拟机上使用Ubuntu 16.04) 以下是我使用的命令行: enscript --color --pretty-print=cpp Assignment5.cpp --line-numbers -p Assignment5.pdf 在windows中尝试打开PDF

我的教授和我都使用Linux来运行一些CFD代码,但是我们从enscript中输出的PDF都不能在Windows上打开(TA用它来纠正我的作业)。不过,pdf在Linux中是开放的,没有任何问题(我的教授使用本机Fedora,我在虚拟机上使用Ubuntu 16.04)

以下是我使用的命令行:

enscript --color --pretty-print=cpp Assignment5.cpp --line-numbers -p Assignment5.pdf
在windows中尝试打开PDF时出现以下错误:


谢谢!

enscript
实际上创建了一个postscript文件,而不是PDF文件。最有可能的是,在所讨论的Linux系统上使用的PDF查看器也可以显示postscript文件,因此,在Windows上使用的PDF查看器不能显示的情况下,没有抱怨。要真正创建PDF,请在
enscript上运行
ps2pdf
输出。

enscript上
enscript
(至少)不输出PDF,但可选择其他格式:

GNU Enscript将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-使用ghostscript将PostScript转换为PDF

ps2pdf12-使用ghostscript将PostScript转换为PDF 1.2(与Acrobat 3及更高版本兼容)

ps2pdf13-使用ghostscript将PostScript转换为PDF 1.3(与Acrobat 4及更高版本兼容)

根据需要,可以在命令行上仅使用源postscript和目标PDF文件名调用它:

ps2pdf  [options...] {input.[e]ps|-} [output.pdf|-]
ps2pdf12  [options...] {input.[e]ps|-} [output.pdf|-]
ps2pdf13  [options...] {input.[e]ps|-} [output.pdf|-]

您可能还没有安装ghostscript来运行它。

您确定您在将PDF从Linux计算机传输到Windows时没有意外地破坏二进制PDF文件,例如,意外地将PDF视为文本?@mkl我从Linux将该文件上载到google drive并在Windows中下载。我的教授发送的文件o我是作为附件发送的,我下载了它,因为我总是下载我的文件。你能分享它进行分析吗?检查这个@mkl我看到了你的答案,这解决了我的问题!非常感谢@mkl,我感谢你的帮助!