将每页多页的 PDF 转换为所有单页

平面设计 pdf 土坯杂技演员
2022-02-17 19:19:07

我最近开始了一个项目,将杂志的 PDF 转换为数字阅读器应用程序。

到目前为止,给我的 PDF 文件都是这样设置的,以便杂志的每一页都是 PDF 的单独页面。

然而,最近我一直在让它们的格式不同。现在它们被设置为正面和背面页面是单页,但非常内页设置为横向 PDF 页面,每个 PDF 页面包含两个不同的杂志页面(我希望这是有道理的)。

我遇到的问题是数字阅读器应用程序无法支持这一点,我在试图弄清楚如何拆分每个页面时不知所措。

有什么建议吗?

3个回答

@Scott 是正确的。听起来他们正在向您发送完整的跨页而不是单页 PDF,这对他们来说应该很容易修复。

但是,对于我们中间的“程序员/设计师”,我想我会分享另一个解决方案。这需要:

  • pdfinfoxpdf以点为单位识别页面的边界框
  • gsGhostscript拆分左右页面
  • pdftkPDF Toolkit将 PDF 重新组合在一起。

一旦这些都安装并在您的 PATH 中,您应该能够执行以下操作。

假设您正在处理一个名为Example.pdf. 您首先运行:

pdfinfo -f 1 -l 1000 -box Example.pdf

这将为您提供有关 PDF 的大量信息,包括每页的大小(以磅为单位)为Page 1 size: 595 x 842 pts (A4). 我们的gs命令需要这些信息。具体来说,每页(拆分后)是 421 点宽 x 595 点高。由于 Ghostscript 的分辨率是 720 dpi,而 1 英寸在 PDF 中是 72 点,我们将在下面的步骤pdfwrite中将这些值乘以 10 。pdfwrite

gs \
    -o out%03d_A.pdf \
    -sDEVICE=pdfwrite \
    -g4210x5950 \
    -c "<</PageOffset [0 0]>> setpagedevice" \
    -f Example.pdf
gs \
    -o out%03d_B.pdf \
    -sDEVICE=pdfwrite \
    -g4210x5950 \
    -c "<</PageOffset [-421 0]>> setpagedevice" \
    -f Example.pdf

如果您使用的是 Windows,请将“ \”替换为“ ^”。

上面的命令将创建一堆名为“out001_A.pdf”、“out001_B.pdf”等的文件。请注意,对于正确的页面,我们使用负页面偏移量。

最后,使用pdftk将它们重新组合在一起。

pdftk out*_?.pdf cat output combined.pdf

这对我来说就像一个魅力;)

您可以使用免费软件Briss我试过了,效果很好。您可以在此处阅读更多详细信息

解压缩 zip 文件,运行briss-0.9.exe并加载您的 PDF 文件。程序显示 2 个模板页面,分别代表奇数页和偶数页。

在奇数页(通常占据整个页面)中绘制 2 个蓝色矩形(1 和 2)。在偶数页中执行相同的操作。矩形也被标记为 1 和 2

选择裁剪 PDF并另存为新名称。

我有同样的问题,但我所做的只是复制每一页然后裁剪它们。IE。裁剪左侧的第一个副本,然后裁剪右侧的第二个副本。Acrobat 将裁剪部分调整为整页,据我所知,文档很好。