PDF文件的结构?

Val*_*min 65 pdf

对于一个小项目,我必须解析pdf文件并获取它们的特定部分(一个简单的字符链).我想用python来做这个,我发现有几个库能够在某些方面做我想做的事情.

但是经过一些研究后,我想知道pdf文件的真实结构是什么,有人知道在线是否有规范或一些解释?我在adobe上找到了一个链接,但它似乎是一个死链接:(

min*_*nty 42

以下是Adobe参考资料的链接

http://www.adobe.com/devnet/pdf/pdf_reference.html

您应该知道PDF只是关于演示,而不是结构.解析并不容易.

  • 不要盯着它看太久; 你会疯了. (56认同)
  • 我是新手从事pdf解析,我发现了一些我想分享的链接,[link1](http://www.planetpdf.com/developer/article.asp?ContentID=navigating_the_internal_struct),[link2](http ://resources.infosecinstitute.com/pdf-file-format-basic-structure/)和[link3](https://blog.idrsolutions.com/2010/09/grow-your-own-pdf-file-part -2-结构的-A-PDF文件/). (4认同)

Jef*_*ser 29

我发现PDFGNU简介有助于理解结构.它包含一个易于阅读的PDF文件,详细描述.

其他有用的链接:

  • @dwarring我用webarchive链接为后代修复了它们. (4认同)

dan*_*nio 24

当我第一次使用PDF时,我发现PDF参考很难导航.它可能会帮助您了解文件结构的概述在语法中找到,Adobe称文档结构是对象结构而不是文件结构.这也可以在Syntax中找到.附录A中隐藏了运算符的描述 - 对于理解内容流中发生的事情非常有用.如果您有使用色彩空间的痛苦,您会发现隐藏在图形中!希望这些指针可以帮助您比我更快地找到事情.

如果您正在使用Windows,pdftron CosEdit允许您浏览对象结构以了解它.有一个免费的演示版本,允许您检查文件但不保存它.

  • +1。看起来 CosEdit 是一个很棒的介绍性浏览器,并不完美,但比尝试通过原始二进制文件进行 grep 好得多。:/ (2认同)

jma*_*mah 10

是PDF 1.7的原始参考,这是一篇描述PDF文件结构的文章.如果你使用Vim,pdftk插件是一种以不那么原始的形式探索文档的好方法,而pdftk实用程序本身(及其GPL源代码)是一种分离文档的好方法.


小智 7

我试图做同样的事情.PDF参考是一个非常难以阅读的文档.我认为本教程是一个更好的开始.


Jos*_*ert 6

这可能会有所帮助:(来自PDF32000.book的第11页)

通过将PDF语法视为四个部分,可以最好地理解PDF语法,如图1所示:

•物体.PDF文档是由一小组基本类型的数据对象组成的数据结构.子条款7.2"词汇约定"描述了用于编写对象和其他语法元素的字符集.子句7.3"对象"描述了对象的语法和基本属性.第7.3.8节"流对象"提供了最复杂数据类型(流对象)的完整细节.

•文件结构.PDF文件结构确定对象在PDF文件中的存储方式,访问方式以及更新方式.该结构独立于对象的语义.第7.5节"文件结构"描述了文件结构.第7.6节"加密"描述了用于保护文档内容免受未授权访问的文件级机制.

•文件结构.PDF文档结构指定了如何使用基本对象类型来表示PDF文档的组件:页面,字体,注释等.第7.7款"文件结构"描述了整个文件结构; 后面的子句解决了组件的详细语义.

•内容流.PDF内容流包含描述页面或其他图形实体的外观的一系列指令.这些指令虽然也表示为对象,但在概念上与表示文档结构的对象不同,并且分别描述.第7.8节"内容流和资源"讨论了PDF内容流及其相关资源.

看起来导航PDF文件需要的不仅仅是传递努力.


小智 5

如果您想使用 Python 解析 PDF,请查看PDFMINER。这是迄今为止解析 PDF 文件的最佳库。