gpt4 book ai didi

PDF压缩库/工具

转载 作者:行者123 更新时间:2023-12-03 22:22:24 28 4
gpt4 key购买 nike

我正在做一个项目来减少 PDF 的大小,压缩它们。我想知道市场上是否有任何非常好的工具/库(.NET)。
我确实尝试了一些像 Onstream Compression 这样的工具,但结果并不令人满意。

最佳答案

可以轻松地从 PDF 中挤出一些额外的(兆)字节。例如,是一个众所周知的 "PDF32000_2008.pdf"优化得够不够?文件大小为 8,995,189字节。它使用对象和外部参照流,(几乎)没有图像,一切都紧凑。或者不是?

看一页字典:

Dict:9 [1 0 R]
. /Annots Array:3
. /Contents Stream:3 [2 0 R]
. /CropBox Array:4
. /MediaBox Array:4
. /Parent Dict:4 [124248 0 R]
. /Resources Dict:4
. /Rotate 0 (Number)
. /StructParents 2 (Number)
. /Type Page (Name)
Rotate 0是默认值,为什么会出现?什么是 CropBox那里?默认为 MediaBox ,并且此文档中没有带有 CropBox 的页面除了 MediaBox .为什么是 MediaBox那里?它是可继承的,所有页面的大小都相同,因此将其移至页面树根!有 756 页,即重复 756 次的冗余(或无用)信息。

看一下典型的注解词典:
Dict:6 [3548 0 R]
. /A Dict:2
. . /S URI (Name)
. . /URI http://www.iso.org/iso/iso_catalogue/... (String)
. /Border Array:3
. . [0] 0 (Number)
. . [1] 0 (Number)
. . [2] 0 (Number)
. /Rect Array:4
. . [0] 82.14 (Number)
. . [1] 576.8 (Number)
. . [2] 137.1 (Number)
. . [3] 587.18 (Number)
. /StructParent 3 (Number)
. /Subtype Link (Name)
. /Type Annot (Name)

本文档中有数千个(可能 > 10'000?)链接注释。 /Type键是可选的,为什么在那里?它们是不可见的矩形,您认为它们除了整数点之外的放置精度是否相关?将其四舍五入为整数。

查看典型页面内容流的片段,文本显示操作符:
[(w)7(ed)-6( b)21(u)1(t shal)-6(l no)-6(t b)-6(e)1( ed)-6(ite)-6(d)1( un)-6(less the typef)23(aces wh)-6(ich )]TJ

小于某个值的字距调整几乎是不可见的。这个值可能有争议,就像 JPEG 压缩质量级别 - 有些人可以接受,有些人不同意。我认为非常保守的估计(即保留大部分质量),对一般人来说是不可见的,绝对值小于 10 的字距调整可以省略。 (当然,必须注意保持正当性)。 (我什至没有提到有小数字距调整的文件,精度为 3-6 位小数!但不在这个文件中)

并且,通过上述优化,文件大小变为 7,982,478字节。一兆字节减少了。这当然不是限制,也许还有其他隐藏得更好的优化来源。

关于PDF压缩库/工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21341130/

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