gpt4 book ai didi

pdf - 压缩/优化 PDF 中的向量

转载 作者:行者123 更新时间:2023-12-04 21:48:59 25 4
gpt4 key购买 nike

我有扫描书的 PDF,图像为 JBIG2 格式(黑白)。我想将其转换为矢量 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

我原以为这些数字可以很容易地压缩,但显然不是。一页是 800KB 未压缩(如上)和 300KB gzcompressed。考虑到指令都是在相似范围内的数字,我本以为压缩率可能会好得多。

最佳答案

恐怕对此无能为力。

当然,您可能会尝试在 PDF 页面流上使用 LZW 压缩(而不是 Deflate),但这可能不会有太大区别。

另一个建议:

  • 尽可能平滑源图像/去除尽可能多的细节。这可能会在转换期间呈现更少的曲线(即更少的数据)。
  • 尝试优化 PDF 页面流中的值。例如,您可能会尝试使用缩放/转换运算符和数据更改的复杂组合。这里的目标是减少操作数的长度。

  • 例如,您可能尝试将所有操作数(使用整数,而不是浮点除法)除以 100,并在第一个运算符之前添加缩放。不过,这种方法很可能会降低视觉质量。

    当然,如果您只想对少数文件执行此操作,那么我会说这不值得花时间。

    关于pdf - 压缩/优化 PDF 中的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8755366/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com