使用 Ghostscript 调整多页混合格式 PDF 的大小?

Posted

技术标签:

【中文标题】使用 Ghostscript 调整多页混合格式 PDF 的大小?【英文标题】:Resizing multi-page mixed-format PDF with Ghostscript? 【发布时间】:2016-12-15 09:28:15 【问题描述】:

我有混合格式 A4(纵向)- A0(横向)的多页 PDF 文件。 Ghostscript 是否能够将尺寸 >A3 的页面调整为 A3 - 但不调整尺寸较小 (A4) 的页面?

【问题讨论】:

【参考方案1】:

首先,Ghostscript 不会对输入进行操作,您应该阅读 ghostpdl/doc/vectordevices.htm 以了解 Ghostscript 和 pdfwrite 设备的实际工作方式。

开箱即用,没有 Ghostscript 和 pdfwrite 设备将不允许您使用与输入不同大小的媒体生成输出,并且每个页面都不同(您可以让它生成大小为单一媒体大小的输出)。当然可以,但是会涉及到一些编程,在 PostScript 中也是如此。

您可能想查看 ghostpdl/Resource/Init/pdf_main.ps 中的 pdf_PDF2PS_matrix 例程:

% Compute the matrix that transforms the PDF->PS "default" user space
/pdf_PDF2PS_matrix     % <pdfpagedict> -- matrix
...

计算调整内容大小以适应媒体时所需的比例因子。

还有 pdfshowpage_setup :

/pdfshowpage_setpage   % <pagedict> pdfshowpage_setpage <pagedict>
  6 dict begin      % for setpagedevice
        % Stack: pdfpagedict
...

选择介质尺寸的位置。

【讨论】:

谢谢您的提示...但会涉及一些编程...您碰巧知道另一种方法/工具可以通过“少一点”编程来实现吗? 好吧,您可以打开 PDF,调整要更改的页面大小,然后从各个页面创建新的 PDF。 pdfinfo.ps 将为您提供媒体大小,因此它是可编写脚本的,但在我看来,您所要求的似乎总是至少需要一些脚本编程。【参考方案2】:

在花了很长时间寻找解决方案后,我找到了一个很棒且价格合理的工具,它能够调整大小等等:PStill (http://www.pstill.com/)

【讨论】:

以上是关于使用 Ghostscript 调整多页混合格式 PDF 的大小?的主要内容,如果未能解决你的问题,请参考以下文章

Ghostscript:拆分多页 TIFF

Ghostscript 多页 PDF 转 PNG

ImageMagick或GhostScript:将多页TIFF转换为多页PDF

如何使用 ghostscript 在多页 pdf 中裁剪第 3 和第 4 页

如何使用带有页面特定裁剪框数组的 ghostscript 裁剪多页 pdf

使用 Ghostscript 分割 PDF