27

我以 600 dpi,~ 9.36x12.67 英寸扫描了一些材料,并准备好 PostScript (PS) 格式。

现在,当我尝试使用 Ghostscript (GS) 将 PS 转换为 PDF 时,我得到了剪辑输出,因为我假设 GS 的默认页面大小设置为 A4。我在这里找到了 GS 的可用模板:http ://www.ghostscript.com/doc/9.06/Use.htm#Known_paper_sizes但没有一个与我的 PS 文件的尺寸非常匹配,所以:

我可以指示 GS 输出自定义尺寸吗?如果可以,怎么做?

-sPAPERSIZE指令似乎只接受预定义的模板名称,如链接文档中所示。

4

4 回答 4

34

您可以设置使用的页面大小,-gNNNNxMMMM其中 NNMN 是 720 dpi 时的像素宽度(720 像素 == 1 英寸),MMMM 是 720 dpi 时的像素高度。

或者您可以使用-dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h.

如果我没记错的话,9.36 inch ≈= 674 points12.67 inch ≈= 912 points

您还必须申请-dPDFFitPage才能使您的输入适合页面。

所以你可以使用

gs                          \
   -o output.pdf            \
   -sDEVICE=pdfwrite        \
   -dDEVICEWIDTHPOINTS=674  \
   -dDEVICEHEIGHTPOINTS=912 \
   -dPDFFitPage             \
    input.ps

或者

gs                   \
   -o output.pdf     \
   -sDEVICE=pdfwrite \
   -r600             \
   -g8112x7596       \
   -dPDFFitPage      \
    input.ps
于 2012-10-01T14:53:39.400 回答
3

什么对我有用:

gs -sDEVICE=pdfwrite -r720 -g4308x6066 -dPDFFitPage -o out.pdf in.pdf

4308x6066是像素数,是-r720每英寸的像素数。

所以这里我们有 720dpi,例如 5 英寸,这将是 3600 像素。

于 2014-03-04T18:22:29.120 回答
2

我正在使用 GhostPDL 9.10,虽然我的 8.5x13 纸张尺寸在https://www.ghostscript.com/doc/current/Use.htm#Known_paper_sizesflsa中列出,因为-sPAPERSIZE=flsa开关没有效果,但纸张尺寸仍然是 Letter。

-g5100x7800开关的正确单位匹配我的-r600(不是720);-g作品。

于 2014-03-15T19:55:19.827 回答
2

我发现gs即使我已将页面强制设置为最大标准尺寸 A0,它仍在裁剪我的输出。

原因是/发送到的 PostScript 文档gs包含覆盖Ghostscript 选择的规范。groffgrops%%DocumentMedia

解决方案是给出groff命令行标志-p-P48i,48i-p告诉将groff选项的其余部分传递给grops. 将纸张尺寸设置-P48i,48igrops48 英寸 x 48 英寸。

于 2015-04-24T05:52:45.600 回答