3

我正在使用 ghostscript 从 postscript 文件创建 pdf 文件。我的 PS 文件没有方向说明,所以当我想创建横向 pdf 文件时,我使用 ghostscript 来旋转页面。问题是,ghostscript 只旋转第一页,当我的 pdf 文件超过 1 页时,其他文件没有正确旋转。这是我正在使用的命令:

cat $psinput | gs -sPAPERSIZE=a4 -sDEVICE=pdfwrite -sOuputFile="/tmp/pdf" \
        -dAutoRotatePages="/None" -c "<< /Orientation 3 >> setpagedevice" \
        90 rotate 0 -595 translate -dNOPAUSE -dEPSCrop  -f - -c -quit

有人知道如何纠正这个问题吗?

4

2 回答 2

3

没有看到你的实际$psinput情况,很难给出明确的建议。您的 $psinput,通过 stdin 到 Ghostscript,可能包含多个 PS 文件...您是否尝试过使用这些选项之一

  • -dOrient1=true
  • -dOrient1=false

在你的命令行中?此外,在我看来,您应该将90 rotate 0 -595 translate命令放在带有 的引号内-c,然后将输入(-f -)定位到处理的最后,如下所示:

  • -c "<</Orientation 3>> setpagedevice 90 rotate 0 -595 translate" -f - -c quit

你也试过用

  • -c ".setpdfwrite <<//AutoRotatePages /PageByPage>> setdistillerparams"或者
  • -c ".setpdfwrite <<//AutoRotatePages /All>> setdistillerparams"或者
  • -c ".setpdfwrite <<//AutoRotatePages /None>> setdistillerparams"

在您的命令行上(有或没有您的原始旋转代码)?

于 2010-06-05T20:15:44.280 回答
0

如果您一定不能使用 ghostscript 进行旋转,您可以使用pdftk强制执行

于 2010-07-26T23:27:59.600 回答