Ala*_*air 5 pdf pdf-generation
我有扫描书的PDF,图像是JBIG2格式(B&W).我想将其转换为矢量PDF,我可以通过提取图像并将其转换为使用potrace的PDF矢量图形指令轻松完成.
这样做的原因是我希望PDF能够在电子书阅读器设备(如Kindle)上流畅而快速地显示.对于JBIG2,它并没有做得很好.根据设置,Kindle无法显示PDF,即使修复了这一点,渲染每个页面也需要很长时间.使用矢量PDF,性能更好,渲染非常清晰.
问题是生成的PDF在文件大小中是巨大的.即使流gz压缩到最大,每页300KB(原始JBIG2图像每页30KB).
有什么方法可以优化矢量图形,以便文件大小更少?
以下是矢量绘图说明的一部分:
0.100000 0.000000 0.000000 0.100000 0.000000 0.000000 cm
0 g
8277 29404 m
8263 29390 8270 29370 8289 29370 c
8335 29370 8340 29361 8340 29284 c
8340 29220 8338 29210 8323 29210 c
8194 29207 8141 29208 8132 29214 c
8125 29218 8120 29248 8120 29289 c
8120 29356 8121 29358 8150 29370 c
8201 29391 8184 29400 8095 29400 c
8004 29400 7986 29388 8033 29357 c
8056 29342 8057 29338 8057 29180 c
8058 29018 l
8029 29008 l
8012 29002 8001 28993 8003 28986 c
h
f
Run Code Online (Sandbox Code Playgroud)
我原以为这些数字很容易被压缩,但显然不是.一页是800KB未压缩(如上所述)和300KB gz压缩.考虑到指令是如何在相似范围内的所有数字,我会认为压缩比可以更好.
恐怕对此我们无能为力。
当然,您可能会尝试在 PDF 页面流上使用 LZW 压缩(而不是 Deflate),但这可能不会有太大区别。
另一个建议:
例如,您可能尝试将所有操作数(使用整数,而不是浮点除法)除以 100,并在第一个运算符之前添加缩放。不过,这种方法很可能会降低视觉质量。
当然,如果您只想对少数文件执行此操作,那么我会说这是不值得花时间的。