PDF文件格式解析(1)- 了解PDF的语法格式

PDF文件格式解析(1)- 了解PDF的语法格式

PDF格式

由Adobe Systems Incorporated开发的PDF(便携式文档格式)被Adobe描述为一种通用的文档表示语言。PDF代表格式化的,面向页面的文档。这些文档可以是结构化的或简单的。它们可能包含文本,图像,图形和其他多媒体内容,例如视频和音频。支持注释,元数据,超文本链接和书签。更高版本提供了其他功能,例如,将地理空间信息嵌入到代表地图或其他地理空间图像(例如卫星照片)的文档中。

PDF的核心是源自PostScript页面描述语言的图像模型。请参阅后记格式族。该模型可以在完整,精确和专业的级别上以与设备无关和与分辨率无关的方式来描述文本和图形。与作为编程语言的PostScript不同,PDF基于结构化的二进制文件格式,该格式针对交互式查看的高性能进行了优化



最新的都已经到PDF2.0的格式了,但是PDF2.0的标准还没有广泛采用,所以本文的介绍还是以PDF1.7为解析参考蓝本。

PDF的发展史不做过多介绍,本系列文章就是简析PDF文件结构。 pdf_reference_1-7是Adobe PDF的参考手册,可自行从https://www.adobe.com/devnet/pdf/pdf_reference_archive.html下载。

我们看其中的一个例子 TABLE G.2 Objects in simple text string example

  1. %PDF?1.4


  2. 1 0 obj 

  3. << /Type /Catalog 

  4. /Outlines 2 0 R 

  5. /Pages 3 0 R 

  6. >> 

  7. endobj 

  8. 2 0 obj 

  9. << /Type /Outlines 

  10. /Count 0 

  11. >> 

  12. endobj 

  13. 3 0 obj 

  14. << /Type /Pages 

  15. /Kids [4 0 R] 

  16. /Count 1 

  17. >> 

  18. endobj 

  19. 4 0 obj 

  20. << /Type /Page 

  21. /Parent 3 0 R 

  22. /MediaBox [0 0 612 792] 

  23. /Contents 5 0 R 

  24. /Resources << /ProcSet 6 0 R 

  25. /Font << /F1 7 0 R >> 

  26. >> 

  27. >> 

  28. endobj 

  29. 5 0 obj 

  30. << /Length 73 >> 

  31. stream 

  32. BT 

  33. /F1 24 Tf 

  34. 100 100 Td 

  35. (Hello World) Tj 

  36. ET 

  37. endstream 

  38. endobj 

  39. 6 0 obj 

  40. [/PDF /Text] 

  41. endobj 

  42. 7 0 obj 

  43. << /Type /Font 

  44. /Subtype /Type1 

  45. /Name /F1 

  46. /BaseFont /Helvetica 

  47. /Encoding /MacRomanEncoding 

  48. >> 

  49. endobj 

  50. xref 

  51. 0 8 

  52. 0000000000 65535 f 

  53. 0000000009 00000 n 

  54. 0000000074 00000 n 

  55. 0000000120 00000 n 

  56. 0000000179 00000 n 

  57. 0000000364 00000 n 

  58. 0000000466 00000 n 

  59. 0000000496 00000 n 

  60. trailer 

  61. << /Size 8 

  62. /Root 1 0 R 

  63. >> 

  64. startxref 

  65. 625 

  66. %%EOF 

这段PDF代码的显示结果就是Hello World,如下图。

从整体结构来看语法有点类似XML,HTML,基本都有节点控制。每个obj小节都会有个endobj。

enter description here

从上面的介绍来看PDF就像变成HTML一样是有固定格式的,所以接下来几个章节就围绕PDF的格式做一个简要的解析。

原文地址:https://www.cnblogs.com/alita/p/12070677.html

时间: 2024-08-08 01:30:05

PDF文件格式解析(1)- 了解PDF的语法格式的相关文章

pdf文件格式多余内容的移除,解除llPDFLib5.2的限制

使用报表导出pdf时,因为使用的是llPDFLib 3.6这个插件,对于大多数的报表输出而言,是没有排版差异的,可是对于较多文本内容时,以pdf来预览时,出现了偏差.后来,把插件更改为 5.2版本时,发现排版非常一致. 只是llpdfLib 5.2已经商业化,需要400美元,穷尽google.网盘搜索之力,均无找到任何非试用版.一度放弃使用llpdfLib插件,尝试了一些诸如eDocEngine VCL,pdftoolkit,PowerPDF,Synpdf,VersyPDF等插件,均不理想.甚至

怎样把ppt文档转成pdf文件格式

现在很多的演示文档是用ppt做的,而pdf也是传递文档资料时一种常用的文档,有时候就会需要将ppt转换成为pdf的文件格式,那具体是怎样操作,如何把ppt转成pdf文件呢? 首先对于一些比较大的幻灯片文件,这些文件可以用转换工具来进行转换.可以把文件的内容完整的转换到pdf中. 打开转换器,选择ppt转pdf这个选项,然后把要转换的文件通过添加按钮或者是直接拖入到转换器的列表区.文件在转换之前需要关闭,不能打开编辑查看. 然后可以直接点开始转换,如果是对指定页码范围进行转换,也可以设置文件页码后

深入学习python解析并读取PDF文件内容的方法

这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应用.主要参考了一些已有的博客内容,代码. 主要思路是首先利用一个做项目的形式,描述所做的问题,运行环境,和需要安装的库,然后写代码,此代码是在python2.7中运行,然后写出在python3.6中运行的代码,并详细解释python2.7和python3.6中python库的一些不同之处,最后详细的

PDF文件格式转换攻略:PDF格式转换图片格式

关于PDF文件格式的转换大家有了解多少吗?就比如将PDF格式转换成图片格式,可能之前大家对于PDF件大家都有了解到,办公中我们经常遇到过.现在小编在这里教大家如何将PDF格式转换成图片格式,有兴趣的伙伴可以学着尝试一下! 1.操作之前可以将转换成图片格式的PDF文件另存到电脑桌面上,这样便于在后面的操作. 2.打开PDF转换器进入到操作的页面,在操作页面中可以选择到"PDF转成其他文件"栏目下的功能"文件转换图片",这一步完成之后,然后继续进行下一步操作.3.这时候

怎样转换PDF文件格式?PDF格式转Excel操作方法

怎样转换PDF文件格式?PDF转换Excel格式该怎么操作呢?对于PDF.Excel两种格式大家都应该很熟悉了,也是大家工作中经常遇见和处理的文件.但是在处理PDF文件的时候,都知道想要编辑PDF里面的内容是不可能的,由于PDF格式的特点.那将PDF转换成Excel格式有什么方法呢?下面小编教你一招,轻松实现文件格式转换. 1:处理文件格式的方法有很多,但是介于是PDF格式的文件,所要需要借助到第三方软件,进入到百度浏览器搜索PDF转换工具,安装在操作的电脑中(记住安装在非系统盘中),文件过多可

分享《机器学习:实用案例解析》中文版PDF+英文版PDF+源代码

下载:https://pan.baidu.com/s/1-TzAIfMvJosL9-vk5Ft5kQ 更多资料分享:http://blog.51cto.com/3215120 <机器学习:实用案例解析>中文版PDF+英文版PDF+源代码R语言版的机器学习:中文版PDF,302页,带目录和书签:英文版PDF,322页,带目录和书签:配套源代码. 中文版如图所示: 原文地址:http://blog.51cto.com/3215120/2313183

可实现以转换pdf文件格式的方法

通常我们从网上查找的一些文件资料都是使用PDF格式的,一是为了是文章体式更加规范化,二是出于对自己知识产权的保护.而对于编辑策划的工作者来说,需要常常借鉴一下这些素材,有时需要进行取材就用,可是如何把这些可供读取的PDF文档转变成可写的另一种文档,如Word,让PDF和Word文档转换自如. 想到工作和学习中有很多用户遇到将各种来源的PDF文档转换为Word文档的需求,现在特地发此贴,主要帮助朋友高效地完成相关工作并提供一些思路. 编辑工具:迅捷PDF转换器 功能特点:简单方便的快速提取PDF文

ArcGIS三大文件格式解析

原文 ArcGIS三大文件格式解析 Shape数据 Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点.线.多边形存储要素的形状,却不能存储拓扑关系,具有简单.快速显示的优点.一个shapefile是由若干个文件组成的,空间信息和属性信息分离存储,所以称之为“基于文件”. 每个shapefile,都至少有这三个文件组成,其中: *.shp 存储的是几何要素的的空间信息,也就是XY坐标 *.shx 存储的是有关*.shp存储的索引信息.它记录了在*.shp中,空

迅捷pdf转换器:如何将pdf转换成word

经常坐办公室的朋友都使用过PDF和Word文档,对这两种格式的文件转换也是非常的了解,使用pdf转换器无疑是最方便快捷的.可调查显示,大部分的pdf转换器都是收费的,且转换效果都各有不同.小编认为不能进行完美转换的转换器不是好的转换器,哪怕是免费的,咱也不稀罕.究竟什么样的转换器才算得上是好的转换器呢?其实这与购物是一个道理.只有让咱试用了,才知道它的效果好不好.下面小编带大家看一款可以试用的pdf转换器——迅捷pdf转换器    迅捷PDF转换器是一款功能强大.界面简洁.操作简单的PDF转W