我正在尝试将PDF缩放为例如A4大小的小至A4。

这可以很好地处理人像文件。正确缩放文档,然后将填充添加到顶部。

但是,在横向文档上未添加填充。因此,文档最终将成为A4的正确高度,但由于没有在文档一侧添加填充(我希望如此),因此宽度不够。

这是我用于A4纵向文档的方法:

gs \
 -sOutputFile=output.pdf \
 -sDEVICE=pdfwrite \
 -sPAPERSIZE=a4 \
 -dCompatibilityLevel=1.4 \
 -dNOPAUSE \
 -dBATCH \
 -dPDFFitPage \
  input.pdf

最佳答案

您应该添加-dFIXEDMEDIA开关:

gs \
 -o output.pdf \
 -sDEVICE=pdfwrite \
 -sPAPERSIZE=a4 \
 -dFIXEDMEDIA \
 -dPDFFitPage \
 -dCompatibilityLevel=1.4 \
  input.pdf

如果您需要强制使用特定的纸张/页面/介质尺寸,而忽略文档中指定的纸张/页面/介质尺寸,则始终需要-dFIXEDMEDIA。因为PDF始终定义了纸张/页面/介质尺寸(PostScript可能有,也可能没有...)。

(我的-o ...较短,并且节省了添加-dBATCH -dNOPAUSE的时间-但仅适用于最新版本的Ghostscript。)

关于pdf - 使用Ghostscript调整PDF大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7446552/

10-11 14:07