Shell 脚本:更改 PDF 的页面宽度?

Shell 脚本:更改 PDF 的页面宽度?

我有一个扫描的 PDF 文件,由于 PDF 是从多个来源连接而成,因此不同页面的页面宽度不同。这往往会让查看者感到困惑。

是否有一些命令行工具可以为所有页​​面分配相同的宽度?

由于扫描件很大且已被高度压缩,因此实际的位图图像应该保持不变,并且 OCR 文本(如果有)应该在过程中保留。

例如:

  • 前。
    • 页面尺寸 15x10 厘米
    • 图像显示尺寸 15x10 厘米
    • 图像像素大小 1500x1000
  • 后。
    • 页面尺寸 30x20 厘米
    • 图像显示尺寸 30x20 厘米
    • 图像像素大小1500x1000,二进制数据流不变。

使用 imagemagick 的解决方案是首选,因为它可以通过 Cygwin 轻松用于 shell 脚本。不过我怀疑,可能无法阻止 imagemagick 重新编码图像。

答案1

你可以尝试Ghostscript

gs -sOutputFile=output.pdf -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFIXEDMEDIA -dPDFFitPage -f input.pdf

更改a4为更适合您需要的尺寸。

选择纸张尺寸 在文档中。

您应该能够通过 Cygwinsetup.exe程序安装 GhostScript (gs)。

相关内容