为什么我必须直接调用 ghostscript 来将 PS 转换为 PDF?

为什么我必须直接调用 ghostscript 来将 PS 转换为 PDF?

我的电脑运行的是 Windows 7,安装了 MikTeX 2.9 和 GhostScript 9.02。

我仍然不明白为什么我必须调用gswin64c.exe 而不是ps2pdf.exe将 ps 转换为 pdf?

我想要使​​用的开关是

 -sPAPERSIZE=a4 -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=filename.pdf -c save pop -f filename.ps

当我使用ps2pdf.exe上述开关时,出现如下错误消息。

在此处输入图片描述

根据Philippe的评论的实验结果如下。

无效的语法:

  • ps2pdf -sPAPERSIZE=a4 in.ps out.pdf
  • ps2pdf -sPAPERSIZE#a4 in.ps

工作语法:

  • ps2pdf -sPAPERSIZE#a4 in.ps out.pdf
  • ps2pdf in.ps out.pdf顶部边距被裁剪。
  • ps2pdf in.ps顶部边距被裁剪。

答案1

您不必gswin64c直接使用。ps2pdf应该可以。对我来说它确实有效。(TeX Live 2011)

另一方面,ps2pdf命令实际上是一个脚本(ps2pdf.exe在 TeX Live 中调用 Lua 脚本ps2pdf.tlu),它调用 GhostScriptgswin32c.exegswin64c.exe

Usage: ps2pdf [options] (input.[e]ps|-) [output.pdf]

但是,您使用的选项确实会失败。在脚本-dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite中定义ps2pdf,您不需要它们。-sOutputFile也可以替换。但是,如果您使用它们是安全的。

我不太清楚这是什么-c save pop意思。看来这个选项导致了问题。没有这个选项,一切都正常。

相关内容