在 Windows 机器上从命令行将单页 PDF 文档垂直切成两半?

在 Windows 机器上从命令行将单页 PDF 文档垂直切成两半?

有没有办法通过 Windows 机器上的命令行将单页 PDF 切成两半(垂直)?

答案1

从技术上来说这非常复杂...

PDF 不包含页面图像(可轻松切成两块)。
相反,PDF 包含计算机语言脚本(类似 Postscript),用于指导读者如何构建页面。
此脚本不一定按逻辑顺序从上到下工作。从下向上构建页面或从左到右构建页面同样有效。
或者以随机顺序指定页面元素。
(呈现页脚、呈现页眉、围绕整个页面绘制边框、右下角包含“此文本”的文本块、左上角包含此图像的框等。)

这意味着脚本没有明确的下半部分或上半部分。很难确定哪部分应该放在前半部分,哪部分应该放在后半部分。有些内容需要复制(例如在两个部分都使用的嵌入字体)或需要修改为两部分(例如跨越切割线的图像或边框)。

我能想到的最简单的方法是使用“PDF 转图像”转换器,首先将整个页面渲染为图像。然后剪切图像并从底部和顶部图像创建新的 PDF。
您需要 3 个程序才能做到这一点。
而且您将失去原始 PDF 的优点(例如文本区域中的搜索能力和选择复制粘贴)。

我不知道有任何程序可以在 1 个步骤中完成此操作。PDF2Image 和反之亦然以及批量图像处理程序很容易找到。

答案2

有两种常见的方法可以剪切/裁剪 PDF 文件:(1) 将其转换为图像(如前所述),(2) 使用裁剪指令多次渲染页面。选项 (2) 通常效果最好,因为它保留了 PDF 文件的大部分原始方面(例如可突出显示的文本)。几个程序将执行选项 (1) 和/或选项 (2)——k2pdfopt (1&2)、briss (2)、sopdf (2)、papercrop (1&2) 等等。我知道 k2pdfopt 最好:

如果“垂直分成两半”是指两列,则使用以下命令:

k2pdfopt -grid 2x1x0 -w 0.5s -h 1s file.pdf

如果您想要页面的上半部分和下半部分,请使用以下命令:

k2pdfopt -grid 1x2x0 -w 1s -h 0.5s file.pdf

输出(如果文件名是 file.pdf)将在 file_k2opt.pdf 中。

k2pdfopt 是开源的(有 MS Windows 二进制文件),来自http://willus.com/k2pdfopt/

如果您只是想将 PDF 适合电子书,请查看此处的“粘性”线程:

http://www.mobileread.com/forums/forumdisplay.php?f=184

相关内容