zoukankan      html  css  js  c++  java
  • PDF解析

    PDF(Portable Document Format),便携式文档结构,是一种很有用的文档格式,其最大的特点是平台无关且功能强大(支持文字\图像\表单\链接\音乐\视频等)。做PDF的解析,首先要熟悉PDF文件的物理结构和逻辑结构。

        PDF文件的物理结构可以分为以下几块:

        1.文件头

        2.文件体(PDF文件的主要部分,由一系列对象组成)

        3.交叉引用表(为了能对简接对象进行随机存取而设立的一个间接对象的地址索引表)

        4.文件尾(声明了交叉引用表的地址,即指明了文件体的跟对象(Catalog),从而能够找到PDF文件中各个对象的具体地址,达到随机访问。另外还保生存了PDF文件的加密等安全信息。)

       如下图:

         PDF文档的逻辑结构:

         作为一种结构化的文件格式,一个PDF文档是由一些称为“对象”的模块组成的。并且每个对象都有数字标号,这样的话这些对象就可以被其他的对象所引用。  

         文件尾(Trail),说明对象的对象号,并且说明交叉引用表的位置,通过交叉引用表的查询可以找到对象目录(Catalog).这个目录对象是该PDF文档的根对象,包含PDF文档的大纲(outline)和页面组对象(pages)的引用。大纲对象是指PDF文件的书签数,页面组(pages)包含文件的页面数,各个页面对象(page)的对象号。

    图如下:

          页面(page)对象作为PDF中最重要的对象,包含如何显示该页面的信息,例如使用的字体,包含的内容(文字,图片等),页面的大小。当然里面的子项也可以是其他对象的引用。页面中信息是包含在一个称为(Stream)的对象里。这个流的长度(字节数)必须直接给出或指向另一个对象。

    图如:

  • 相关阅读:
    poi操作excel2007(读取、生成、编辑)
    poi API大全
    iText导出pdf、word、图片
    正则表达式判断是否是中国电信的号码
    正则表达式_判断金额是否为数字(且是2位有效数字)
    POI实现Excel2003插入多张图片
    java中BufferedReader 有什么用
    poi生成word2007及以上文件
    POI 详细介绍
    GDB之常见错误
  • 原文地址:https://www.cnblogs.com/xuezhi/p/2790404.html
Copyright © 2011-2022 走看看