更改 CropBox 和 pdf 的文本颜色
Alter CropBox and text color of pdf
我有一份 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
这个肮脏的 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的内容。
我有一份 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
这个肮脏的 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的内容。