更改 pdf 的 CropBox 和文本颜色

问题描述 投票:0回答:1

我有一个 pdf 文件,在我的电子阅读器上几乎无法阅读。 页边距较大,导致文本较小。 文本颜色是浅灰色,在我的设备屏幕上渲染得非常微弱。

我想我可以通过更改使文件更清晰:

  • CropBox 从
    0 0 612 792
    60 70 525 725
  • 文字颜色从
    0.314 0.314 0.314 rg
    0 0 0 rg

我可以在 pdfbox 调试器应用程序中清楚地看到这些部分。不幸的是,它给了我一个只读视图。有没有办法加载 pdf 并将其所有部分复制到新的 pdf,同时仅更改 CropBox 和文本颜色?

% curl -O https://repo1.maven.org/maven2/org/apache/pdfbox/debugger-app/2.0.25/debugger-app-2.0.25.jar
% java -jar debugger-app-2.0.25.jar

java pdf pdfbox
1个回答
1
投票

这个肮脏的黑客似乎有效,但我觉得必须有更好的方法。

解码pdf

% curl -O https://repo1.maven.org/maven2/org/apache/pdfbox/pdfbox-app/2.0.25/pdfbox-app-2.0.25.jar
% java -jar pdfbox-app-2.0.25.jar WriteDecodedDoc input.pdf decoded.pdf

decoded.pdf
现在包含与原始 pdf 相同的内容,但不再应用 FlatDecode。这意味着内容“清晰”。

使用 hexfiend 编辑已解码的.pdf

  • 求:0.314 0.314 0.314 rg
    替换:0.000 0.000 0.000 rg
  • 查找:/CropBox [0.0 0.0 612.0 792.0]
    替换:/CropBox [60 70 525 725.00000]

文件现在非常大...因此在预览中打开它并导出为 pdf。可悲的是,这种重新压缩的方式会丢弃目录。

我发现了krop,一个简单的图形工具,用于在 Linux 上裁剪 PDF 文件的页面。这比在十六进制编辑器中编辑文件要容易得多。但不会改变文本颜色。

© www.soinside.com 2019 - 2024. All rights reserved.