分类分类
关注+2023-03-27作者:教学助手
可移植文档格式 (PDF) 是 Adobe 在 1990 年代创建的一种文档。这种文件格式的目的是引入一种标准,用于以独立于应用软件、硬件和操作系统的格式来表示文档和其他参考资料。 PDF 文件格式具有包含文本、图像、超链接、表单域、富媒体、数字签名、附件、元数据、地理空间特征和 3D 对象等信息的全部功能,这些信息可以成为源文档的一部分。
在大多数情况下,将现有文档转换为 PDF,而不是从头开始创建新的 PDF。但这并不意味着没有用于创建或处理 PDF 文件的软件。
(必须分享一些关于 PDF 文件格式的内容?您可以在 PDF 文件格式新闻 部分发布您的发现。)
PDF 文件格式 - 简史
1993 - Adobe Systems 免费提供 PDF 规范
2008 - PDF 于 2008 年 7 月 1 日作为开放标准发布,由国际标准化组织发布为 ISO 32000-1:2008。
2008 - Adobe 为制作、使用、销售和分发符合 PDF 标准的实施所必需的 Adobe 拥有的所有专利发布了 ISO 32000-1 格式免版税权利的公共专利许可。
PDF 的第一个版本被指定为 PDF 1.0,后来经过修订,直到 PDF 1.7。成为 ISO 32000-1 的 PDF 1.7 包括一些非标准化的专有技术,以及 Adobe XML Forms Architecture (XFA) 和 Acrobat 的 JavaScript 扩展。 2017 年 7 月 28 日,PDF 2.0(称为 ISO 32000-2:2017)发布,其中不包含任何非标准化技术。
PDF 文件格式规范
PDF 文件是一组字节,可以根据 PDF 规范定义的语法规则将其分组为标记。一次或多个标记被组合以形成更高级别的句法实体,主要是对象,它们是构建 PDF 文档的基本数据值。
PDF 文件的文件结构
PDF 文件内容在文件内按以下顺序排列。
无论 PDF 版本如何,PDF 文件都以包含 PDF 的唯一标识符和格式版本的标题开头,例如 %PDF-1.x,其中 x 的范围为 1-7。
PDF 文件的正文由一系列表示文档内容的间接对象组成。如上所述,对象代表文档的组成部分,例如字体、页面和采样图像。从 PDF 1.5 开始,主体还可以包含对象流,每个对象流都包含一系列间接对象。
交叉引用表包含允许随机访问文件内的间接对象的信息,因此不需要读取整个文件来定位任何特定对象。该表应包含每个间接对象的一行条目,指定该对象在文件主体内的字节偏移量。 (从 PDF 1.5 开始,部分或全部交叉引用信息可能包含在交叉引用流中。
PDF 文件的预告片使符合要求的读者能够快速找到交叉引用表和某些特殊对象。符合要求的读者应该从头开始阅读 PDF 文件。文件的最后一行应仅包含文件结束标记 %%EOF。前两行应按顺序包含关键字 startxref 和解码流中从文件开头到最后一个交叉引用部分中的外部参照关键字开头的字节偏移量。
PDF 对象###
PDF 文件包括以下几种不同类型的对象
布尔值 - 表示条件真或假
数字 - 整数和实数值
字符串 - 包含括号内的字符
名称 - 以前向 / 字符开头,例如 /ASomewhatLongerName 结果为 ASomewhatLongerName
数组 - PDF 支持一维数组。可以通过使用数组作为嵌套元素来构造更高维度的数组
字典 - 作为键值对的对象集合。它可以有零个条目。
Streams - 表示字节序列,它也可以是无限长度的
Null Object - 代表一个空值
可能还有其他对象,例如注释,它们以 % 符号引入并且可能包含 8 位字符。
间接对象###
PDF 文件中的任何对象都可以标记为间接对象。间接对象被赋予唯一的对象标识符,其他对象可以通过该标识符引用它。对这些的交叉引用保存在索引表中,并用主体后面的外部参照关键字进行标记,并给出每个间接对象从文件开始的字节偏移量。
线性和非线性 PDF 布局###
根据目标应用程序和其他因素,PDF 布局分为线性和非线性。
非线性 - 与线性 PDF 文件相比,非线性 PDF 文件使用更少的磁盘空间。文档的 PDF 页面分散在 PDF 文件中,这就是非线性文件比线性文件慢的原因。
线性 PDF - 针对在线 PDF 查看器,线性 PDF 文件的构造方式是它们以线性方式写入磁盘。这不需要浏览器插件在显示之前首先加载整个文档。
对象概述###
如前所述,PDF 正文是上述对象的集合。 PDF 主要基于 PostScript,没有 if 和 loop 命令等编程语言的控制功能。除了文档引用的任何文件、图形或字体之外,Postscript 代码发出的用于生成图形内容的命令也会被收集和标记化。所有这些内容都累积到一个文件中,从而产生组合的 PostScript 输出。
#### 文本 ####
PDF 中的文本由文本元素表示,这些文本元素实际上是用字体中的字形显示的。字形是一种图形形状,并受制于所有图形操作,例如坐标变换。由于文本在大多数页面描述中的重要性,PDF 提供了更高级的工具来方便有效地描述、选择和呈现字形。
####图形####
PDF 内容流中使用的图形运算符描述了要在光栅输出设备上再现的页面的外观。这些设施适用于打印机和显示应用程序。图形运算符构成六个主要组:
图形状态操作符操作称为图形状态的数据结构,其他图形操作符在其中执行的全局框架。图形状态包括当前转换矩阵 (CTM),它将 PDF 内容流中使用的用户空间坐标映射到输出设备坐标。它还包括当前颜色、当前剪切路径和许多其他参数,这些参数是绘画运算符的隐式操作数。
路径构造运算符指定路径,这些路径定义了各种形状、线轨迹和区域。它们包括用于开始新路径、向其添加线段和曲线以及关闭它的运算符。
路径绘制操作符用颜色填充路径,沿路径绘制描边,或将其用作剪切边界。
其他绘画操作员绘画某些自描述图形对象。这些包括采样图像、几何定义的阴影和整个内容流,这些内容流又包含图形运算符序列。
文本运算符从字体中选择并显示字符字形(表示文本字符的字体描述)。因为 PDF 将字形视为一般图形形状,所以许多文本运算符可以与图形状态或绘画运算符组合在一起。然而,处理字形和字体描述的数据结构和机制已经足够专业化了。
标记内容运算符将更高级别的逻辑信息与内容流中的对象相关联。此信息不会影响内容的呈现外观;它对于使用 PDF 进行文档交换的应用程序很有用
pc6提供免费线上转换功能,https://www.pc6.com/pdf/,pdf转word pdf转excel pdf转ppt等功能都已上线
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论