更改 CropBox 和 pdf 的文本颜色

Alter CropBox and text color of pdf

我有一份 pdf,几乎无法在我的电子阅读器上阅读。 边距很大,这使得文本很小。 文本颜色为浅灰色,在我的设备屏幕上呈现得非常模糊。

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

我可以在 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

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

解码 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

编辑 decoded.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。这种re-compressing的方式可悲的是丢掉了table的内容。