【问题标题】:ps2pdf - Unable to open initial deviceps2pdf - 无法打开初始设备
【发布时间】:2019-12-18 18:36:30
【问题描述】:

我使用 LaTeX 和 lualatex 编译器构建了一个相当大的 PDF(由于特定字体,我需要那个),现在想按照 this 指令使用 ps2pdf 缩小 PDF(答案与第二个- 大多数投票,因为gs 在我的计算机上未被识别为命令行工具)。我的命令如下所示:

ps2pdf -dPDFSETTINGS=/ebook -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -q -sOutputFile=output.pdf input.pdf

我收到此错误消息:

MiKTeX GPL Ghostscript 9.25: Device 'pdfwrite' requires an output file but no file was specified.
**** Unable to open the initial device, quitting.

我确定该文件存在,我尝试使用 *.ps 文件作为输入,给出了完整路径,一次有和没有双引号(Windows 系统),但没有任何效果。奇怪的是,只运行ps2pdf ouput.pdf input.ps 就可以工作,但会产生更大的PDF。我错过了什么?

【问题讨论】:

    标签: pdf ghostscript


    【解决方案1】:

    无法打开的文件是输出文件,所以如果它存在,那将是一个潜在的问题。如果“其他”打开了输出文件,则无法对其进行写入。

    从启动横幅来看,您似乎正在运行非标准版本的 Ghostscript,如果我是您,我会安装并使用标准版本的 Ghostscript,即使您必须自己构建。

    奇怪的是,“ps2pdf”只是一个运行 Ghostscript 的脚本,而简单的“gs”却不行。我个人不会使用该脚本。尝试找到 Ghostscript 可执行文件并直接运行。

    我也会放弃 -q(安静)开关,至少在尝试解决问题时,抑制消息可能会隐藏一些有用的东西。

    哦,我明白了,您实际上使用的是 Windows。好吧,Windows 上的可执行文件不称为“gs”,它称为 gswin,后跟 32 或 64 表示字长,如果是命令行(而不是窗口)版本,则为 c。所以你想要 gswin32、gswin32c、gswin64 或 gswin64c 之一。请注意,Ghostscript 安装程序不会将安装目录添加到 $PATH 环境变量中,因此如果您只是打开 Windows 命令 shell 并键入“gswin32c”,它将不会被找到。您需要将 isntall 目录添加到 $PATH 或提供可执行文件的完整路径。

    我个人会使用普通的 Windows 二进制文件,而不是在 MingW 或您使用的任何 Linux shell 下提供的修改版本。如果目录不可用或只读到 shell,这也可能导致您在写入输出文件时出现问题。

    【讨论】:

    • 谢谢,我能够找到可执行文件并将其添加到$PATH 环境中。当我现在运行它时,它会提示我 Page 1,然后是 >>showpage, press <return> to continue<< 用于每一页。最后,我得到了一个损坏的、空的 PDF 和 GS 控制台。
    • 您需要在提示符下输入'quit'。在 Ghostscript 退出之前,PDF 文件不会完全写入。您可以通过使用“-o output.pdf”而不是“-sOutputFile=output.pdf”或在现有命令行中添加“-dBATCH -dNOPAUSE”来避免这种情况。
    • 好点,工作!现在只有一件事:转换后我所有的内部链接都断开了。有什么办法可以保留它们?
    • 如果没有查看 PDF 文件,我无法真正评论“内部链接”,因为该描述可以涵盖许多不同的 PDF 结构。其余的,请参阅我的评论。请注意,Ghostscript 不会“压缩”、“优化”或“减少”PDF 文件。它的作用是接受输入(PostScript、PDF、XPS、PCL、PXL),并在选择 pdfwrite 设备时从中生成 PDF 文件。 可能文件更小,尤其是在您使用图像下采样之类的东西时,但这不是本意。每次您像这样“处理”一个 PDF 文件时,都有可能失去保真度。
    • 对于“内部链接”,我指的是“参见图 1”或目录之类的引用。在原始 pdf 中,工作非常好,在输出文件中它们就消失了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 2012-12-15
    相关资源
    最近更新 更多