有些时候您可能需要分析验证PDF文档的结构?这类的软件还真的很少,不过小编帮大家找来了这款PdfFileAnalyzer,它是一款功能强大的免费PDF文档结构分析器,导入PDF文件即可读取和解析PDF文件了。
界面预览图:

PdfFileAnalyzer 是一个免费的PDF文档结构分析器软件,其功能用来读取并解析PDF文件,将其内部结构展示出来。
PdfFileAnalyzer让你可以去读取一个PDF文件,分析它并展示与保存结果。程序将PDF文件分割成独自每页的描述,字体,图片与其它对象。有两种类型的PDF文件不受此程序的支持,加密文件与多代文件。

开发PdfFileAnalyzer 的目的是用来测试这个 PDF 文件解析类。如果你想在开发环境之外测试它的可执行程序,需创建一个名为 PdfFileAnalyzer 的目录并复制 PdfFileAnalyzer.exe 到这个目录中,随后运行这个程序。如果你想从 Visual C# 开发环境中运行这个项目,请确保你在项目属性的Debug标签栏中定义了一个工作目录。此程序是使用 Microsoft Visual C# 2012 开发的。
PdfFileAnalyzer(PDF文档结构分析器)使用说明:

1、运行PdfFileAnalyzer程序,会有三个按钮Open, Setup 与 Exit。
2、程序初次执行时你必须使用 Setup 定义工程目录。这个目录盛放所有被分析的 PDF 文件所产生的对应子目录。
3、Open 按钮会显示一个标准的文件选择对话框,你可以在其中找到你要进行分析的 PDF 文件。
载入PDF文件后会直接信息,具体参考如下:
Object No. 间接对象号。对于附件字典来讲dummy号,对象号是一个,对象号是负数时,在界面上显示为TRn。
Ojbect 在第四节中定义的对象类型。
Type 如果对象是字典或者流,类型是/Type字典的值。如果类型不是字典或者字典不包含/Type,显示值来自于对这个对象的间接引用。
Subtype 如果对象是字典或者流,或者字典包含/Subtype,将显示在这一列。
Parent Object No. 如果间接对象是对象流的一部分(见4.2节复合对象),这一列显示流对象的对象号。
Parent Index 如果间接对象是对象流的一部分,索引号是父对象流的号。
File Name 流对象与页面对象存在文件名。File Name是文件存储在流对象内的名字。文件有如下的扩展名:.txt是文本文件,.bin是二进制文件,.bmp是图片,.jpg是图片,.ttf是字体,.xref是多引用流。如果分析MyFile.PDF的流文件,工程目录的子目录MyFile将被指定在启动界面上。页面对象不是流。文件表示这一页所有对象的关联关系。
Ojbect Position 如果间接对象文件不是对象流类型,这是对象在PDF文件内的位置。如果间接对象是对象流的一部分,这对象在父对象内的位置。位置根据十进制与十六进制数字显示,便于程序员再二进制编辑器中查看PDF文件。
Stream Position 与 Stream Length 流的位置与长度。流的位置是相对于文件或者父对象的,同对象的位置使用相同的计算方法。













