浏览内部PDF结构


18

如何在Adobe 9.0中浏览内部PDF结构?

我没有找到具有此选项的高级菜单。

有谁能够帮助我?

pdf 

Answers:


23

有多种浏览PDF内部结构的方法。

Pdf有点人类可读

除安全密码外,许多密码都是人类可读的。如果PDF具有密码,则所有字符串和流(已被压缩,不会丢失)将是伪随机垃圾。压缩的数据流比比皆是,但是在您喜欢的文本编辑器中,大多数压缩数据流看起来像这样:

2 0 obj
<< /Type /Page 
   /MediaBox [0 0 612 792]
   /Contents 4 0 R
   /Resources << /Fonts 
     << /F1 5 0 R>> 
   >>
>>
endobj

警告:空格在很大程度上无关紧要,通常在可能的情况下将其删除。我只是把它弄得很漂亮,以使其更容易理解。

<<>>开始和结束“字典”。字典由键/值对组成。键始终是“名称”:所有名称均以“ /”开头。该值可以是任何值,包括另一个名称。

[]开始和结束“数组”。数组几乎可以由任何东西组成。

数字是“数字”。浮点数或其他。

()<>开始和结束“字符串”。<>字符串以十六进制值列出,()是ANSI字符串。

Pet Peeve:/ Names和(Strings)使用完全不同的转义系统。r

间接引用指向PDF中的其他对象:
<objNum> <generationNum-AlwaysZero> R

在上述示例对象中,内容流位于PDF中其他位置的对象4中。要找到它,可以使用编辑器文本搜索“ N 0 obj”,其中N是所需的对象编号。
警告:PDF中有成百上千个对象。搜索“ 1 0 obj”将为您带来很多成功。

考虑到您要查看内部结构,您可能已经知道所有这些。其他想知道同一件事的人可能不会。

警告:请勿在文本编辑器中编辑PDF。所有这些二进制文件都会被弄乱,字节偏移在PDF中非常重要。

Acrobat插件

Windjack Solutions有一个名为PDF CanOpener的acrobat插件(无隶属关系)。很滑。您将能够像树一样浏览PDF结构,查看(和修改)内容流,等等。

第三方应用

很多。许多人在学习解析PDF的过程中或作为调试工具来构建一个。他们很方便。

iText RUPS(iText的一部分,它是Java PDF库,现已在GitHub上)

PDF对象浏览器

PDF田鼠


1
PDF Vole链接现在似乎已断开...
DNA

5
+1 iText的RUPS,不正是一个友好的图形界面,但作品,顺便目前该项目的URL似乎是(sourceforge.net/projects/itextrups
海梅Hablutzel

2
iText RUPS已移至此处:github.com/itext/rups
bmaupin

1
此处有pdfvole源代码的副本:github.com/Rossi1337/pdf_vole
yms

1
如果PDF具有压缩的数据流,则qpdf命令行实用程序可以对其进行解码/缩小,并写出内容更加清晰的PDF:`qpdf --decode-level = all --stream-data = uncompress inputfile.pdf扩展文件。 pdf
skierpage




2

免费的PDF-XChange编辑器具有“ 内容”面板,可让您查看PDF文件的树形结构。

View -> Panes -> Content

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.