有什么办法我们可以找到PDF文件压缩与否?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有什么办法我们可以找到PDF文件压缩与否?相关的知识,希望对你有一定的参考价值。
我们正在使用ITEXTPDF来压缩PDF,但问题是我们想要压缩在上传到我们网站之前压缩的文件...如果文件是在没有压缩的情况下上传的,我们希望留下那样的..
所以要做到这一点,我们需要确定PDF是否压缩..我想知道有没有办法我们可以识别PDF压缩或不使用ITEXTPDF或其他工具!!! ..
我试过谷歌但却找不到合适的答案..
如果你有任何想法,请告诉我...
谢谢
您可以在PDF中获得几种类型的压缩。可以压缩对象的数据,并且可以将对象压缩为对象流。
我投票支持Mark的答案,因为他是对的:如果你没有更具体的话,你就不会得到答案。我会用一些额外的信息添加我自己的答案。
在PDF 1.0中,PDF文件由PDF语法的混合ASCII字符和图像等对象的二进制代码组成。页面流将包含可见的PDF运算符和操作数,例如:
56.7 748.5 m
136.2 748.5 l
S
此代码告诉您必须在坐标S
(因为那是光标移动到(x = 56.7; y = 748.5)
运算符的位置)和坐标m
之间绘制一条线((x = 136.2; y = 748.5)
)(因为路径是使用添加一条线的l
运算符构造的)。
从PDF 1.2开始,人们可以开始使用过滤器来处理这样的内容流(页面内容流,形成XObjects)。在大多数情况下,您将在流词典中发现值为/Filter
的/FlateDecode
条目。您几乎找不到任何内容未压缩的“现代”PDF。
在PDF 1.5之前,PDF文档中的所有间接对象以及交叉引用流都以ASCII格式存储在PDF文件中。从PDF 1.5开始,特定类型的对象可以存储在对象流中。交叉引用表也可以压缩为流。 iText的PdfReader
有一个isNewXrefType()
方法来检查是否是这种情况。也许这就是你要找的东西。也许你有需要通过无法阅读此类PDF的软件阅读的PDF,但是......你没有告诉我们。
也许我们完全误解了这个问题。也许你想知道你是否收到了一个实际的PDF或带有PDF的zip文件。或者您可能希望真正数据挖掘PDF中使用的不同过滤器。简而言之:您的问题不是很明确,我希望这个答案能够解释为什么要澄清。
以上是关于有什么办法我们可以找到PDF文件压缩与否?的主要内容,如果未能解决你的问题,请参考以下文章
我可以对 iOS 上生成的 pdf 文件中的图像使用 JPEG 压缩吗?