本页使用了标题或全文手工转换

便携式文档格式

维基百科,自由的百科全书
(重定向自PDF
跳转至: 导航搜索
便攜式文档格式(PDF)
扩展名 .pdf
互联网媒体类型 application/pdf,[1] application/x-pdf, application/x-bzpdf, application/x-gzpdf
类型代码英语Type code 'PDF '[1](包含一个空格)
统一类型标识英语Uniform Type Identifier(UTI) com.adobe.pdf
魔数 %PDF
开发者 Adobe Systems
初始版本 1993年 (1993)
最新版本
1.7
延伸至 PDF/APDF/EPDF/UAPDF/VTPDF/X
标准 ISO 32000
自由格式
网站 www.adobe.com/devnet/pdf/pdf_reference_archive.html

便携式文档格式英语:Portable Document Format,简称PDF)是一種用獨立於應用程式硬體作業系統的方式呈現文檔文件格式[2]每個PDF文件包含固定布局的平面文檔的完整描述,包括文本、字形、圖形及其他需要顯示的資訊。1991年,Adobe Systems共同創始人約翰·沃諾克提出的名為“Camelot”的系統[3]演變成PDF。

在Adobe Systems决定PDF规范在1993年可以自由使用的时候,PDF是由Adobe控制的专有格式英语proprietary format,直到2008年7月1日官方作为开放标准发行,并由国际标准化组织以ISO 32000-1:2008标准发布,[4][5]在这段时间规范通过ISO志愿者产业专家委员会控制。2008年,Adobe发布对ISO 32000-1的公共专利许可赋予对所有Adobe拥有的制作、使用、销售及分发兼容PDF的实现所需的专利的自由授权的权益。[6]然而仍有一些ISO 32000-1所引用的可以被纳入有效的PDF文件的技术保持专有(但仍是公开记录),如Adobe XML表单架构,以及JavaScript for Acrobat。[7][8][9][10][11]ISO委员会正积极地制定许多这类的标准作为ISO 32000-2的一部分。

歷史[编辑]

PDF檔案格式在1990年代早期開發,用於分享包括文本格式和内置影像的文檔,能跨平台操作,即使電腦平台完全不同,收件者亦無需适配相關或合用的應用軟體接口[12]。當時與PDF一起競逐跨平台檔案格式的,還包括DjVu(仍在開發中)、Envoy英语Envoy (WordPerfect)、Common Ground Digital Paper、Farallon Replica及Adobe自己本身的PostScript(.ps)格式。在萬維網HTML文本尚未興起的當時,PDF在桌面出版工作流技术當中很受歡迎。

PDF在早期文件格式分享歷史的接受程度頗晚。[13]可以閱讀及產生PDF格式的程式Adobe Acrobat並非免費產品;早期版本的PDF也不支持外部連結,使之在互聯網上的可用性減低;相較於全文本的格式顯得很巨大的PDF檔案,在當時仍然要利用modem來連線的年代需要更長的下載時間,再者以當年性能低的電腦要渲染PDF檔的過程也超慢。

從2.0版開始,Adobe開始免費分發PDF的閱讀軟件Acrobat Reader(現時改稱Adobe Acrobat Reader DC,建立軟件稱為Adobe Acrobat DC),而舊的格式依舊支援,使PDF後來成為固定格式文本業界的非正式標準英语de facto standard[14]

及至2008年,Adobe Systems的PDF參考1.7版成為了ISO 32000:1:2008,從此PDF就成為了正式的國際標準。亦因為這個緣故,現時PDF的更新版本開發(包括未來的PDF 2.0版本的開發)變成由ISO的TC 171 SC 2 WG 8主導,但Adobe及其他相關項目的專家依然有參與其中。

Adobe规范[编辑]

从1993-2006年Adobe Systems数次更改PDF规范并添加新特性。2006和发布的各个方面的Adobe的扩展层被采纳为ISO 32000-2(PDF 2.0)的工作草案,但开发者注意到Adobe的扩展不是PDF标准的一部分。[15]

版本号 版本[4] 发布年份 新特性 Acrobat Reader支持版本
1.0 第一版 1993 Carousel
1.1 第一版修订 1996 密码、加密(MD5、RC4 40bit)、独立于设备的颜色、线程和链接[16] 2.0
1.2 第一版修订 1996 交互式页面元素(单选按钮、复选框等);交互式、填入式的表单(AcroForm);适用于可以从Web导入、导出、传送及接收的交互式表单数据的表单数据格式(Forms Data Format,FDF);鼠标事件;外部影片录制;外部或内嵌声音录制;二进制数据的zlib/deflate压缩;Unicode;高级颜色特性及图像代理[16] 3.0
1.3 第二版 2000 数字签名;ICC及DeviceN颜色空间;JavaScript动作;嵌入任意类型的文件流(例如用于附件);新的注释格式;新的Adobe PostScript Language Level 3成像模型特性;遮罩图像;图像的替代性表现;平滑阴影;增强式页码;Web截取,用于从万维网截取信息并转换为PDF的能力;图形结构的逻辑性结构独立的呈现;对CID字体的附加支持;用于映射字符串及PDF对象编号的数据结构;印前生产流程支持的相关信息;一些呈现功能的参数化的类别的功能对象的新特性;[17][18] Acrobat Forms JavaScript Object Specification 4.05版 4.0
1.4 第三版 2001 JBIG2;透明度;长度大于40位(40–128位)的RC4加密密钥;对交互式表单及表单数据格式(FDF)、XML表单提交、嵌入式FDF文件、 字段输出值的Unicode规格、远程协作和FDF文件中的数字签名的改进;被禁用户的可访问性;使用可扩展元数据平台(XMP)的元数据流;置标的PDF;打印者标记的包含;生产相关的页面边界的显示及预览;新预定义的CMaps;替代性呈现;从一个PDF文档到另一个文档导入内容;PDF文档的命名字典中的EmbeddedFiles词条,嵌入数据的标准方位;[18][19]Acrobat Forms JavaScript Object Specification 4.05版[20] 5.0
1.5 第四版 2003 JPEG 2000;对多媒体嵌入及后端的增强的支持;对象流;跨引用流;XML表单数据格式(XML Forms Data Format,XFDF)用于交互式表单提交(PDF 1.4中取代XML格式);support for 表单、富文本元素与基于Adobe XML表单架构英语XML Forms Architecture(XFA)2.02的属性(只定义静态XFA表单);使用PKCS#7的公共密钥安全处理器(PDF 1.3引入,但没在参考书中记录,直到1.5)、公共密钥加密、权限、使用权(UR)签名(不要求文档加密)、带SHA-1的PKCS#7、RSA扩大到4096位;安全处理器可以使用自身的加密和解密算法;文档章节通过作者或读者以诸如CAD图画、分层英语layers (digital image editing)插图、地图和多语言文档之类的项选择性的查看或隐藏;交替呈现——仅幻灯片一种类型——由JavaScript动作的方式(Adobe Reader仅支持SVG 1.0)产生;[18][21][22] Acrobat JavaScript Scripting Reference,6.0版;[23]对微软Windows 98拖放的支持。 6.0
1.6 第五版 2004 3D艺术,如对Universal 3D文件格式的支持;OpenType字体嵌入;对XFA 2.2富文本元素及属性(XFA 2.1及2.2定义以下列特性为例:动态XFA表单,XFA的W3C XML数字签名,针对网络服务的XFA支持,HTTP之上的XFA“文档逐字的”SOAP操作,网络服务的WSDL定义SOAP绑定操作等)的支持;AES加密;带SHA256的PKCS#7,DSA升到4096位;NChannel颜色空间;嵌入式附件的附加支持,包括跨文档链入及来自嵌入的文件;增强和澄清数字签名相关的使用权和修改检测及阻止签名;[18] Acrobat JavaScript Scripting Reference,7.0版[24] 7.0
1.7
(ISO 32000-1:2008
[4][25]
第六版(ISO第一版) 2006(ISO 2008) 增加3D艺术的呈现;XFA 2.4富文本元素及属性;多附件(便携式收集);PDF消费者应用的文档要求;新字符串类型:PDFDocEncoded字符串、ASCII字符串、字节字符串;带SHA384、SHA512和RIPEMD160的PKCS#7;JavaScript for Acrobat API Reference 8.0版(适用于Adobe Acrobat Professional、Acrobat Standard和Adobe Reader的JavaScript扩展的对象、属性及算法的文档)[26] 8
1.7 Adobe Extension Level 1[27] 2008 XFA 2.5(Extensions Level 1)和XFA 2.6(Extensions Level 2)(XFA 2.6定义如下所示:XFA安全提交,新的配置文件——XFA前景色(XFAF)——每个XFA表单的页面覆以PDF背景等)[28] 8.1
1.7 Adobe Extension Level 3 2008 256为AES加密;XFA数据集并入符合PDF/A-2标准的文件;对Adobe Flash应用(SWF)、视频(含H.264编码的Flash视频)、音频及其他多媒体、Flash player和整合应用之间的双向脚本桥接、可能以Adobe Flex 2模块或者作为普通SWF加载的导航SWF附件的改进;XFA 2.5与2.6富文本协定,[28]XFA 2.7与2.8[29](XFA 2.7与2.8定义如下所示:用于网络服务的认证策略,通过WSDL/SOAP提交,按区域设置字体等) 9
1.7 Adobe Extension Level 5[30] 2009 XFA 3.0 9.1
1.7 Adobe Extension Level 6[31] 2009 XFA 3.1 9.1
1.7 Adobe Extension Level 8[32] 2011 XFA 3.3(如Flash/SWF整合进XFA),[33]比Extension Level 3不同的AES-256密码处理,因为密码测试算法的虚弱。[34][35]规格截至2014年11月未出版。[25] X (10)

ISO标准ISO 32000-1:2008及Adobe PDF 1.7在技术上是相容的。[25][36][37]Adobe宣称没有制定PDF 1.8参考。PDF规格的未来版本将由ISO技术委员会制定。然而,Adobe出版的文档指明什么是PDF的专有扩展功能,ISO 32000-1(PDF 1.7)之外的在新发布的产品中支持。这利用了如同在Annex E中ISO 32000-1中记录的PDF的扩展性特性。[25]

PDF规格包容性滞后。PDF 1.7规格包括了所有先前的功能性的Adobe PDF规格1.0到1.6版的记录。在那里Adobe从他们的标准删除了PDF的某些特性,那些没被包含在ISO 32000-1[4]。一些特性被标为落后的。

PDF文档遵循带有PDF 1.7版的ISO 32000-1标准。包含了Adobe扩展的特性仍带有PDF基础版本号1.7的文档也包含随着文档的创建扩展的指示。[25]

ISO标准化[编辑]

自1995起,Adobe参与了一些由ISO创建出版技术规范及在用于特定行业及用途的PDF标准专业子集(如PDF/X或PDF/A)进程中与ISO协作的工作组。[38]制定完整PDF规格的子集的目的是移除那些不需要或会对特定用途造成问题以及一些要求的功能的使用在完整PDF规格中仅仅是可选的(不是强制性的)功能。

2007年1月29日,Adobe宣布将发布完整的PDF 1.7规格给美国国家标准协会(ANSI)及企业内容管理协会英语Association for Information and Image Management#Enterprise Content Management Association,为了由国际标准化组织(ISO)发布。[38]ISO将制定PDF规格是未来版本,而且Adobe仅仅是ISO技术委员会的一员。[25]

ISO“全功能PDF”的标准[38]在正式编号ISO 32000之下发布。全功能PDF规格意味着不仅仅是Adobe PDF规格的子集;就ISO 32000-1而言全功能PDF包含了Adobe的PDF 1.7规格定义的每一条。然而,Adobe后来发布了不是ISO标准的一部分的扩展。[25]那些也是PDF规格中的专有功能,只能作为额外的规格参考。[8][10]

PDF标准化的子集[编辑]

下列指定的PDF规格的子集被定为ISO标准(或者在标准化过程当中):[4][39][40][41]

  • PDF/X(2001年起—ISO 15929及ISO 15930系列标准的一部分)又叫“PDF for Exchange”——用于“图形技术——印刷前数据交换”——(ISO技术委员会130的工作),基于PDF 1.3、PDF 1.4还有后来的PDF 1.6
  • PDF/A(2005年起—ISO 19005系列标准的一部分)又叫“PDF for Archive”——“文档管理——用于长期保存的电子文档文件格式”(ISO技术委员会171的工作),基于PDF 1.4还有后来的ISO 32000-1 - PDF 1.7
  • PDF/E(2008年起—ISO 24517)又叫“PDF for Engineering”——“文档管理——使用PDF的工程文档格式”(ISO技术委员会171的工作),基于PDF 1.6
  • PDF/VT(2010年起—ISO 16612-2)又叫“PDF for exchange of variable data and transactional (VT) printing”——“图形技术——可变数据交换”(ISO技术委员会130的工作),基于PDF 1.6并受限于PDF/X-4及PDF/X-5[42]
  • PDF/UA(2012年起—ISO 14289-1)又叫“PDF for Universal Accessibility”——“文档管理应用——可访问的电子文档文件格式”(ISO技术委员会171的工作),基于ISO 32000-1 - PDF 1.7

还有PDF/H,也就是“PDF Healthcare”,最佳措施导览(Best Practices Guide,BPG),通过实施指南(Implementation Guide,IG)增补,2008年发布。PDF Healthcare不是一个标准或者推荐标准,但仅仅是一个使用已有标准及其他技术的指南。受到标准发展机构ASTMAIIM支持。PDF/H BPG基于PDF 1.6。[43][44][45]

PDF 1.7[编辑]

PDF 1.7的最终修订的文档由ISO技术委员会171于2008年1月认可,并以ISO 32000-1:2008发布于2008年7月1日,题为“Document management – Portable document format – Part 1: PDF 1.7”。

ISO 32000-1:2008是第一份全功能PDF的ISO标准。先前的ISO PDF标准(PDF/A、PDF/X等)用于更特殊的用途。ISO 32000-1包括了所有先前的功能性的Adobe PDF规格1.0到1.6版的记录。Adobe从先前的版本中移除了某些PDF特性;这些特性也没包含在PDF 1.7中。[4]

ISO 32000-1文档由Adobe Systems Incorporated基于《PDF Reference, sixth edition, Adobe Portable Document Format version 1.7, November 2006》准备的。在一个特殊的快速进程下检验、修订并接受,通过《ISO Technical Committee 171 (ISO/TC 171), Document management application, Subcommittee SC 2, Application issues》,与ISO成员的提议并行。

根据ISO PDF标准:[46]

ISO 32000-1:2008指定独立于他们创建的环境或他们查看、阅读的环境的用于呈现电子文档的数码形式以使用户交换并查看电子文档。该标准用于创建PDF文件的软件的开发者(相应的作者)、阅读已有PDF文件及解释其内容以显示和协作的软件(相应的读者)以及用于其他多种目的阅读和/或编写PDF文件的PDF产品(相应的产品)。

一些Adobe Systems控制下的专属的规格(如Adobe Acrobat JavaScript或XML表单架构)处于ISO 32000-1规范性参考中,而且对于ISO 32000-1标准的应用不可或缺。[38]

PDF 2.0[编辑]

PDF标准的新版本以ISO/CD 32000-2 - Document management – Portable document format – Part 2: PDF 2.0的名义下开发(截至2013年8月)。[47][48]PDF 2.0被ISO作为新提议于2009年采纳(ISO/NP 32000-2)。TC 171 SC 2 WG 8委员会的ISO 32000-2(PDF 2.0)制定工作正在持续以积极开发文档;处理数以百计的技术和编辑上的建议,并管理由多个当事人(包括Adobe Systems)组成的八个特设委员会。为提供更多时间以开发文档,原来的ISO项目于2012年撤销(作为“国际标准草案”处于调查阶段),并启动新项目。[47][48][49]

Adobe提交了《Adobe Extension Level 5》和《Adobe Extension Level 3》规格给ISO以纳入ISO 32000-2规格,但只有其中一部分特性被采纳。

ISO委员会开发PDF 2.0的目标包括了进一步的增强、PDF语言的改进、去除不再使用的特性(如Form XObject名称)与Adobe专有的规格的标准化(如Adobe JavaScript、Rich Text)。[10][50]

PDF 2.0将参考Adobe的XML表单架构3.1。2011年ISO委员会强烈要求Adobe Systems提交XFA规格给ISO用以标准化并要求Adobe Systems保持XFA规格的稳定。ISO表示担心XFA规格的稳定性。[8]

ISO TC 171 SC 2 WG 8[编辑]

成立于2008年以策划PDF参考书作为ISO标准的Working Group 8通常一年召开两次会议,来自十多个国家的成员在每个实例中参与。ISO委员会关于ISO 32000的会议向受到学科问题专家认可的人开放。有兴趣的人一方会为有关参与ISO 32000的信息联系各自的ISO成员体。

当前的项目领导人:Cherie Ekholm、微软及项目联合领导人、独立顾问Duff Johnson[51]

过去的项目领导人:2008-2011:James King,PhD、Adobe Systems

ISO秘书处:Betsy Fanning,AIIM

GB标准化[编辑]

2009年9月1日,作为电子文档长期保存格式的PDF/Archive(PDF/A)经中国国家标准化管理委员会批准已成为正式的中华人民共和国国家标准(GB)[52],标准号为GB/T 23286.1-2009[53]

技术基础[编辑]

任何人可以创建能阅读和编写PDF而不需要给Adobe Systems支付版税的应用;Adobe对PDF持有专利,但以買斷式授權的方式许可使用于开发遵从PDF规格的应用。[54]

PDF主要由三項技術組成:

  • 衍生自PostScript頁面描述語言的子集,用以生成和輸出圖形。
  • 字型嵌入/替換系統,可使字型隨文件一起傳輸。
  • 結構化的存儲系統,用以綁定這些元素和任何相關内容到單個檔案,帶有適當的資料壓縮系統。

PostScript[编辑]

PostScript是一种运行于直譯器以生成图像的页面描述语言,一个需要大量资源的进程。不仅能处理图形,也具有ifloop之类命令的标准编程语言特性。PDF很大程度上基于PostScript,但做了简化,以移除像这样的流控制特性,还保持着lineto之类的图形命令。

通常,类PostScript的PDF代码产生于PostScript源文件。以PostScript代码输出的图形命令被收集并标记;其中文档所引用的任何文件图像或字体也被收集,然后每一件都被压缩成单个文件。由此,整个的PostScript领域(字体、输出、计量)得以保持完整。

作为一个文档格式,PDF相比较于PostScript有一些优势:

  • PDF包含已标记和解析的PostScript源代码,以在修改PDF页面描述中的项与修改所产生的页面造型之间直接保持一致。
  • PDF(自1.4版)支持真图形透明度;PostScript不支持。
  • PostScript是一种带有隐形全局状态的直译编程语言,因此伴随着一页的指令能任何后续页面的表现。因此,PostScript文档中所有先前的页面必须经过处理以决定所给出的页面的正确的表现,而PDF文档中的每一页不受其他因素的影响。结果PDF查看器允许用户迅速跳转到长文档的最后一页,而一个PostScript查看器需要在能够显示目标页面之前继续地处理所有的页面(除可选PostScript文档结构规范英语Document Structuring Conventions已被周密地遵守外)。

技术概括[编辑]

文件结构[编辑]

PDF文件是COS("Carousel" Object Structure,Carousel对象结构)格式的子集。COS也伴随着FDF文件。[55]COS树文件主要由对象组成,其中有八种类型:[56]

对象可以是直接(嵌入其他对象)或非直接的。直接对象以对象号及代号编号。称为xref表的索引表赋予每个对象从文件开头起的字节偏移量。[57]这一设计允许有效的隨機存取到文件中的对象,还允许无需重写整个文件(增量更新)即可做出小的改动。从PDF 1.5版开始,非直接对象也可位于称为“对象流”的字串流中。这一增加文件大小的技术有大量小的非直接对象,并且对置标PDF特别有用。

PDF文件有两种输出方式:非线性(非“优化”)和线性(“优化”)。非线性PDF文件比线性的占用更小的硬盘空间,即使因为一部分的数据要求文档中的集合页面通过PDF文件分散开而访问更慢。线性PDF文件(也称“优化”或“web优化”PDF文件)以使得网页浏览器插件无需等待下载整个文件来阅读的方式构建,自从它们以线性方式写入硬盘(如同页面顺序)开始。[25]PDF文件或许会用Adobe Acrobat软件或QPDF优化。

图像模式[编辑]

图形在PDF中呈现的基本设计是以非常类似于PostScript中的方式,除了PDF 1.4增添的透明度的使用。

PDF图形使用设备独立性英语device independent笛卡儿坐标系来描述页面的外观。一个PDF页面描述可使用矩阵缩放旋转错切图形元素。PDF中的一个主要概念是图形状态,即是可能会通过页面描述修改、保存或还原的图形参数的集合。PDF有(如在1.6版)24种图形状态属性,其中最重要的有:

矢量图[编辑]

PDF中的矢量图如同在PostScript当中一样,是由路径组成的。路径通常由直线和多项的贝兹曲线组成,但也可以从文本的外廓构建。不同于PostScript,PDF不允许带直线和曲线的单一路径去组合文本外廓。路径可被描绘、填充或用于剪取英语clipping path。描绘和填充可用任意图形状态中的色彩集,包括式样。

PDF支持多种调色板类型。最简单的是瓷砖式样,其中艺术作品的一部分被指定以被重复地绘制。这可能是彩色瓷砖式样,带有在式样对象中的指定的颜色,或是延迟色别编码到式样已绘制时候的没有颜色的瓷砖式样。从PDF 1.3开始还有了底纹式样, 连续绘制不同的颜色。七种底纹式样中最简单的是轴向底纹(Type 2)和径向底纹(Type 3)。

位图[编辑]

PDF中的位图(称作Image XObjects)由带相关字串流的字典呈现。字典描述了图像的属性和包含图像数据的流。(少见的是,位图或许会作为一个内嵌图像被直接嵌入于页面描述。)图像通常出于压缩的目的过滤。PDF中支持的图像过滤器包含了常用的过滤器

  • ASCII85Decode 用于把字串流放入7位ASCII的过滤器
  • ASCIIHexDecode 类似于ASCII85Decode,但兼容性低
  • FlateDecode 基于RFC 1950及RFC 1951所定义的zlib/deflate算法(亦即gzip,但不是zip)的常用过滤器;引入于PDF 1.2;可用两组预测功能中的一组以进一步兼容zlib/deflate算法:出自TIFF 6.0规格中的Predictor 2和来自PNG规格(RFC 2083)的预测器(过滤器)
  • LZWDecode 基于LZW算法的过滤器可用两组预测功能中的一组进一步兼容LZW压缩:出自TIFF 6.0规格中的Predictor 2和来自PNG规格的预测器(过滤器)
  • RunLengthDecode 使用游程编码算法和图像指定的过滤器的用于带重复数据的字串流的简单的压缩算法
  • DCTDecode 基于JPEG标准的有损过滤器
  • CCITTFaxDecode 基于ITU-T T.4和T.6中定义的Group 3或Group 4 CCITT(ITU-T)传真压缩标准的无损二值(黑白)过滤器
  • JBIG2Decode 基于JBIG2标准的有损或无损二值(黑白)过滤器,引入PDF 1.4
  • JPXDecode 基于JPEG 2000标准的有损或无损过滤器,引入PDF 1.5

通常PDF中包含的所有图像嵌入于图像,但PDF允许图像数据通过使用外部字串流或替代图像存储于外部文件。PDF的标准子集,包括PDF/APDF/X,禁止这些特性。

文本[编辑]

文本在PDF中以页面内容字串流中的“文本元素”呈现出来。一个文本元素指定字符应在指定位置描绘。字符用所选字体源的编码指定。

字体[编辑]

PDF中的字体对象是对数码字体的描述。可能是字体中的字符的描述,或者是包含嵌入的字体文件。后者叫嵌入字体,前者叫非嵌入字体。所嵌入的字体文件基于广泛使用的标准数码字体文件:Type 1(及其压缩版变种CFF)、TrueType和(自PDF 1.6版起)OpenType。另外PDF支持由PDF图形处理器描述的字体组件中的Type 3变种。

Standard Type 1字体(Standard 14字体)[编辑]

以Standard 14字体著称的四种字体在文档中PDF有特别的意义:

这些字体有时称作Base 14字体。[58]这些字体或有相同度量的合适的替代字体,必须能用在所有PDF阅读器上,而且不必嵌入PDF。[59]PDF查看器必须掌握这些字体度量。否则字体如果没有嵌入PDF就可能会被替换。

编码[编辑]

文本字符串中,字符用以编码映射字形于当前字体的字符代码(整数)显示。预定义的编码有多种,包括WinAnsi、MacRoman,以及大量东亚语言编码,而且字体可以有自己的编码。(即使WinAnsi和MacRoman编码取自WindowsMacintosh操作系统中历史上的专有编码,用这类编码的内容在任何平台上都运行的好。)PDF可以指定可以使用的预定义的编码、字体内置编码,或者提供预定义或内置编码的查询表(不对TrueType字体推荐)。[60]PDF中的编码机制是为Type 1字体设计的,而且应用到TrueType字体的规则是复合的。

对于大型字体或者带非标准字形的字体,特殊编码Identity-H(用于横写)或Identity-V(用于竖写)被使用。如果关于字符的语义信息被预定义,这类字体有必要提供ToUnicode表。

透明度[编辑]

PDF的原始图像模型像PostScript的opaque:页面上描绘的每个对象完全替换先前在同一位置标记的任何东西。在PDF 1.4中图像模型被扩展以允许透明度。使用透明度的时候,新对象与先前标记的对象相互作用产生混合的特效。透明度添加到PDF由写到PDF 1.3及早期的规格的产品中被忽略设计的新的扩展方法完成。结果,使用少量透明度的文件在旧的查看器中可能会以被接受地视图查看,但大量用透明度的文件在旧的查看器中会显示不正确而没警告。

透明度扩展基于透明度组、混合模式、形状和alpha的关键概念。这一模式紧密对应Adobe Illustrator 9的特性。混合模式基于当时Adobe Photoshop所用的。PDF 1.4规格出版的时候,用于计算混合模式的公式被Adobe保密。此后它们被公布。[61]

PDF规格中透明度组的概念独立于Adobe Illustrator之类的应用中已有的“组”或“层”的概念。那些反映对象之上的逻辑关系的分组在编辑那些对象的时候有意义,但不是图像模型的一部分。

交互式元素[编辑]

PDF文件或许包含注释、表单、视频和Flash动画之类的交互式元素。

富媒体PDF是一个用来描述可以嵌入或链入PDF的交互式内容的术语。这一内容必须用Flash文件格式提供。Adobe收购Macromedia的时候,公司的主业是Flash,而且Flash播放器被嵌入Adobe Acrobat,Adobe Reader,移除了用于Flash、QuickTime或Windows Media之类第三方插件的需。不幸的是,这造成QuickTime视频从PDF被禁这样与苹果公司的裂痕。富媒体专家Robert Connolly相信这一事件引发了苹果与Adobe之间Flash iPhone/iPad争论之上的冲突。富媒体PDF将不在苹果的iPad之类的iOS设备上操作,而且交互性受到限制。

交互式表单是一个添加表单到PDF文件格式的机制。

PDF当前支持用于整合数据和PDF表单的两种不同的办法。两种格式今天并存于PDF规格:[38][62][63][64]

  • AcroForms(又叫Acrobat forms)引入PDF 1.2格式规格并包含于所有后来的PDF规格。
  • Adobe XML表单架构英语XML Forms Architecture(XFA)的表单,引入PDF 1.5格式规格。XFA规格没有包含于PDF规格,仅仅作为可选特性参考。Adobe XFA表单不与AcroForms兼容。[65]

AcroForms[编辑]

AcroForms于PDF 1.2格式被引入。AcroForms准许使用对象(如文本框选择钮等)及一些代码(如JavaScript)。

在标准PDF动作类型之外,交互式形式(AcroForms)支持提交、重置和导入数据。“提交”动作传送所选表单字段和值的名称给指定的统一资源定为符(URL)。交互式表单字段名称和值或许会被以任意格式提交(取决于输出格式、提交的PDF和XFDF旗标的设置):[38]

  • HTML表单格式(自PDF 1.5起用HTML 4.01规格;1.2起用HTML 2.0)
  • 表单数据格式(Forms Data Format,FDF)
  • XML表单数据格式(XML Forms Data Format,XFDF)(扩展XFDF规格,2.0版;自PDF 1.5起被支持;在PDF 1.4中替换XML表单提交格式定义)
  • PDF (the entire document can be submitted rather than individual fields and values).(PDF 1.4中定义)

AcroForms可以保持表单字段于包含key:value组合的外部的单独的文件。内部的文件可能使用FDF和XFDF文件。[66][67][68]使用权(UR)签名定义导入表单数据文件以FDF、XFDF及文本(CSV/TSV英语delimiter-separated values)格式,及以FDF及XFDF格式从数据文件导出文件的权利。[38]

表单数据格式(FDF)[编辑]
表单数据格式(FDF)
扩展名 .fdf
互联网媒体类型 application/vnd.fdf[69]
类型代码英语Type code 'FDF'
开发者 Adobe Systems
初始版本 1996年 (1996)(PDF 1.2)
延伸自 PDF
延伸至 XFDF
标准 ISO 32000-1:2008
自由格式

表单数据格式(Forms Data Format,FDF)基于PDF,使用同样的句法和基本上一样的文件结构,但比PDF简单,自从FDF文档的主体由只有一个要求的对象组成开始。表单数据格式定义于PDF规格(自PDF 1.2起)。表单数据格式可在表单数据到服务器、接收响应和组合到交互式表单的时候被使用。还可以被用来导出表单数据到能被导回到相应的PDF交互式表单的单独的文件。从PDF 1.3开始,FDF可被用来定义用于从所应用的PDF文档分开的注释的容器。FDF通常封装X.509证书之类的信息、要求证书、设置目录、设置时间戳服务器和为网络传输嵌入PDF文件。[68]FDF使用MIME内容类型application/vnd.fdf、文件扩展名.fdf,并在Mac OS使用文件类型'FDF'。[38]导入和导出独立FDF文件的支持没有被自由或免费PDF软件广泛的实现。例如,Evince、Okular、Poppler、KPDF或Sumatra PDF没有导入/导出的支持,然而,Evince、Okular和Popller填入PDF Acroforms并在PDF中保存已填写数据。导入独立FDF文件的支持在Adobe Reader中得到实现;导入和导出支持(包括在PDF中保存FDF数据)作为示例在Foxit Reader和PDF-XChange Viewer Free中得到实现;PDF文件中FDF数据的保存也被pdftk支持。

XML表单数据格式(XFDF)[编辑]
XML表单数据格式(XFDF)
扩展名 .xfdf
互联网媒体类型 application/vnd.adobe.xfdf[70]
类型代码英语Type code 'XFDF'
开发者 Adobe Systems
初始版本 2003年7月 (2003-07)(引用于PDF 1.5)
最新版本
3.0
(2009年8月,​7年前​(2009-08)
延伸自 PDF、FDF、XML
标准 否(在标准化,如同ISO/CD 19444-1[71]
网站 XFDF 3.0规格

XML表单数据格式(XFDF,XML Forms Data Format)是表单数据格式的XML版,但XFDF只执行FDF内含表单及注释的子集。FDF字典中的一些词条没有等价于XFDF的,像是状态、编码、JavaScript、页面关键字、嵌入式FDF、差异和目标。此外,XFDF不允许在基于已给定的数据的新页面大量生成或者添加;就像使用FDF文件的时候能被完成的一样。XFDF规格被引用于(但不包含于)PDF 1.5规格(及其以后的版本)。它被单独描述为“XML表单数据结构规格”(XML Forms Data Format Specification)。[67]PDF 1.4规格允许以XML格式提交表单,但在PDF 1.5规格中以XFDF格式提交取代。XFDF符合XML标准。截至2014年11月,XFDF 3.0以“ISO/CD 19444-1 - Document management - XML forms data format - Part 1: XFDF 3.0”为名处在ISO/IEC标准化进程中。[71]

XFDF可用以和FDF相等的方式,如提交表单数据给服务器,做出修订,然后返回,并且新表单数据被导入到交互式表单。它还可以用来导出表单数据到能被导回到相应的PDF交互式表单的单独的文件。导入和导出独立XFDF文件的支持没有被自由或免费PDF软件广泛的实现。XFDF的导入在Adobe Reader 5及以后的版本中得到实现;导入和导出在PDF-XChange Viewer Free中得到实现;在PDF表单中嵌入XFDF数据在pdftk(pdf toolkit)中得到实现。

Adobe XML表单架构(XFA)[编辑]

PDF 1.5格式中,Adobe Systems引入了新的、专有的表单格式,名为Adobe XML表单架构(XFA)。XFA 2.02引用在PDF 1.5规格(及以后的版本),但单独描述为《Adobe XML Forms Architecture (XFA) Specification》,有多个版本。[72]XFA规格没有包括在ISO 32000-1 PDF 1.7并仅仅作为由Adobe创建的外部专有规格引用。XFA没有作为ISO标准而标准化。2011年ISO委员会(TC 171/SC 2/WG 8)强烈要求Adobe Systems提交XFA规格以标准化。[8]

Adobe XFA表单不与AcroForms兼容。Adobe Reader包含使用XFA表单的“禁用特性”,仅在打开只来自Adobe的可行的技术创建的PDF文档时激活。[73][74]XFA Forms不兼容于Adobe Reader 6以前的版本。

XFA表单可创建或用作PDF文件或作为XDP(XML数据包英语XML Data Package)文件。PDF中XFA源的格式由XML数据包规格描述。[38]XDP可能作为单独的文档,也可能在PDF文档的内部携带。XDP提供打包周边XML容器内部的表单组件的机制。XDP也可以打包一个PDF文件,伴随XML表单和模板数据。[72]PDF可能包含XFA(在XDP格式中),XFA也可能包含PDF。[72]在用于XFA表单XFA(XML表单架构)语法从一个应用移到另一个应用的时候,它们必须以XML数据包封装。[75]

当PDF和XFA结合在一起,结果是任意页面中的XFA表单覆盖了PDF背景。这一架构有时被提作XFAF(XFA Foreground,XFA前景)。替代方法是直接在XFA(不用PDF,或者只用带有PDF标记的最小构造XFA的容器的“外挂PDF”,或用静态XFA表单的预渲染描述作为PDF)展开所有表单,包括样板文件。这有时被称为全XFA。[75]

PDF 1.5开始,可变文本字段的文本内容,以及标记注解可能包含格式信息(样式信息)。这些富文本字符串是符合XML表单架构规格2.02(本身是XHTML 1.0规格的子集)定义的富文本惯例的XML文档,扩展了CSS2样式属性中受限的设置。[38]PDF 1.6中,PDF支持XML表单架构(XFA)规格2.2定义的富文本元素和属性。PDF 1.7中,PDF支持XML表单架构(XFA)规格2.4定义的富文本元素和属性。[38]

多数PDF处理器不处理XFA内容。生成外挂PDF的时候会被建议包含于PDF标记的一个简单的单页PDF图像显示警告(如:“为了查看本文档的全部内容,你需要新版PDF查看器”等。)能渲染XFA内容的PDF处理器应该不现实警示页面图像或者以动态表单内容迅速替换。[33]带有一些XFA渲染功能支持的PDF软件的例子包括Adobe Reader for Windows、Linux、Mac OS X(但不是Adobe Reader Mobile for Android / iOS)或Nuance PDF Reader。

逻辑架构与可读性[编辑]

“置标”PDF(ISO 32000-1:2008 14.8)包含文档架构和语义信息以可用可靠的文本提取并能访问。从技术上说,置标PDF是建立在逻辑架构的框架上的对格式的程式化的使用,引入到PDF 1.3。置标PDF定义一组标准的结构类型并赋予允许页面内容(文本、图形和图片)被提取并为其他目的再利用的属性。[76]

置标PDF不需要PDF文件仅仅用来打印的情况。自从这一特性可选,而且ISO 32000-1指定的用于置标PDF的规则相对模糊,对置标PDF的支持在消费装置当中,包括辅助技术(AT),是参差不齐的。[77]

开发针对可读性的PDF规格的ISO标准化子集的AIIM计划起于2004年,最终成为PDF/UA

安全和签名[编辑]

一份PDF文件可能以用于验证的担保或者数字签名加密。

由Acrobat PDF提供的标准担保以两种不同的方法及两种不同的密码组成,用户密码,加密文件并阻止开启;所有者密码,指定即使文档被解密的时候应该被限制的操作,可以包括:打印、从文档复制文本和图像、修饰文档,或者添加或删除文本注释和AcroForm字段。用户密码(控制开启)加密文件并要求密码破解英语password cracking以去除,难度取决于密码长度及加密算法——它可能非常安全(假设好的密码及加密算法没有已知的攻击手法)。所有者密码(控制操作)不加密文件,相反取决于客户端软件以遵循这些限制,并且不安全。所有者密码可以被许多通常可用的PDF破解软件移除,包括一些自由的在线服务。[78]由此,文档作者放在PDF文档中的使用限制不安全,而且不能在一旦文件被散布时保证;这一危险在使用Adobe Acrobat软件以创建或编辑PDF文件应用这类限制的时候显现出来。

即使没有移除密码,许多免费或开源PDF阅读器忽略权限“保护”并允许用户打印或者做文本摘要的复制,就像文档没被密码保护限制一样。

一些解决方案像Adobe的LiveCycle Rights Management更强化信息权利管理的方式,不仅能限制谁能打开文档,而且以标准的安全处理程序做不到的方式可靠的执行权限。

使用权[编辑]

从PDF 1.5起,使用权(UR)签名用来启用在一些PDF查看器应用中不是默认的附加的交互式特性。这一签名用来验证由真实的授权机构赋予的许可。例如,它可以允许用户:[38]

  • 保存伴有修订表单和/或注释数据的PDF文档
  • 从FDF、XFDF和文本(CSV/TSV)格式中的数据文件导入
  • 从FDF和XFDF格式中的数据文件导出
  • 从数据提交
  • 从命名的页面模板instantiate 新页面
  • 应用一个数码签名到已有的数码签名表单字段
  • 创建、删除、修正、复制、导入、导出注释

例如,Adobe Systems在Adobe Reader中授权启用附加特性,使用公钥密码学。Adobe Reader使用从一个Adobe授权的权威认证的验证那个签名。PDF 1.5规格宣称其他PDF阅读器应用可以为他们自己的目的自由使用这一相同机制。[38]

文件附件[编辑]

PDF文件可以有文档级和页面级的文件附件,读者可访问并打开或存储于本地的文件系统。PDF附件可作为示例用pdftk加到已有的PDF文件。Adobe Reader提供对附件的支持,而且基于Poppler的阅读器如EvinceOkular也有对文档级附件的支持。

元数据[编辑]

PDF文件可包含两种类型的元数据。[79]第一种是文档信息字典,一套像作者、标题、主题、创建及更新日期的关键字/值字段。这存储于可选的文件尾部。有一小组字段是有定义的,而且如果有需要,可以用附加的文本字段扩充。

后来在PDF 1.4中,对元数据流的支持被加入,用可扩展元数据平台(XMP)来添加像在其他文件格式那样的基于XML标准的可扩展的元数据。这允许元数据附加到文档中的任何字串流,诸如关于嵌入式插图的说明,以及整个文档(附加到文档目录),使用可扩展的纲要。

未来[编辑]

ISO 32000-2:下一代PDF[编辑]

已知的PDF句法术语如“PDF-2.0”、ISO 32000-2将第一次升级为完全在ISO委员会进程(TC 171 SC 2 WG 8)中开发的PDF规格。ISO 32000-2的发布据估计是在2016年的上半年。常驻于TC 171成员国或观察员国的感兴趣的一方并愿意参与的需联系他们国家的成员体或TC 171 SC 2的秘书处。[80]PDF协会的会员或许通过PDF协会与ISO TC 171 SC 2的A类联系人复查并评论草案。[81]

Mars[编辑]

Adobe探索基于XML的下一代PDF代号Mars。[82]

Mars的图形元素的格式有时简单地描述为SVG[83]但根据2007年11月的0.8版草案规格(§3 Mars SVG Support)这一格式实际上仅仅是接近于SVG:它同时包含SVG新增和移除的部分,因此一般不可被标准SVG工具查看或创建:一些东西在SVG查看器和Mars查看器之间看起来明显不同。

Adobe Systems于2008年停止开发Mars。[84]

技术问题[编辑]

扫描的文档[编辑]

扫描仪硬拷贝文档创建的PDF文件包含原始文本没有由相同的文档直接创建的PDF文件那样相同的架构。扫描的文档原本地包含了文档的图片,没有关于文本的信息。只要用户可以看到它只是另一个PDF文件,带有从其他任意地方来的不能区分的名称和扩展名;好的扫描仪或许会精确地视作与原生的PDF文件相同,即使是视觉上质量很差的文件,常常带有扭曲的页面,给出了其本性。然而,文件大小会明显不同,而且不能搜索文本。对于精确质量的扫描可以用带光学字符识别(OCR)的合适的软件识别文档中的文本,并嵌入文档中而使其可以检索,取决于OCR的准确性。

可读性[编辑]

PDF文件可专门为让残疾人阅读而创建。[85][86][87][88][89]截至2014年 (2014-Missing required parameter 1=month!)PDF文件格式在使用中可以包含标签(XML)、替换文本、标题、音频描述等。置标PDF在PDF/A-1a规格中被要求。[90][91]一些软件可以自动生成置标PDF,但这个特性不被默认启用。[92][93]常见的螢幕閱讀器,包括JAWSWindow-Eyes、Hal和Kurzweil 1000及3000可以朗读置标PDF,就像Acrobat和Acrobat Reader后来的版本一样。[94][95][96]此外,置标PDF可为有视觉障碍的读者重排和放大。问题仍存在于给旧版PDF和从扫描的文档生成的PDF加标记。这些情况下,可读性标记和重排就不可用,而且必须手动或用OCR技术处理。这些过程对于一些残疾人是达不到的。

对PDF可读性的一个重大挑战是PDF文档有三种不同的视图,取决于文档的创建,会和其他视图相矛盾。这些视图有:物理视图、标记视图和内容视图。物理视图可以显示和打印(多数人认为的PDF文档)。标记视图是屏幕阅读器和其他访问技术用来给有障碍的用户带来高质量导航和阅读体验的。内容视图基于PDF内容字串流中的对象的物理排列,并可能由不完全支持标记视图的软件显示,如Adobe Reader的Reflow特性。

基于ISO 32000-1的可阅读PDF国际标准PDF/UA在2012年以ISO 14289-1发布,并为可阅读PDF技术建立规范的语言。

病毒和漏洞[编辑]

PDF附件带病毒最先发现于2001年。这种名为OUTLOOK.PDFWorm或Peachy的病毒,会通过Microsoft Outlook以附件的形式将自己发送至Adobe PDF文件。然后会用Adobe Acrobat将自身激活,但不会被Acrobat Reader激活。[97]

随着时间推移,新的漏洞在Adobe Reader的多个版本被发现,[98]促使企业发出安全性修复。其他PDF阅读器也容易受到影响。一个恶化的因素是PDF阅读器会被配置在网页嵌入PDF时候自动启动,为攻击带来了载体。如果恶意的网页包含一份利用PDF的漏洞感染的PDF文件,系统会无法抵抗,即使浏览器是安全的。其中一些漏洞是由于PDF标准允许PDF文档用JavaScript脚本指令的结果。在PDF阅读器中禁止执行JavaScript有助于缓解那些未来的漏洞,即使这不阻止PDF查看器其他部分的漏洞。安全专家称JavaScript对于PDF阅读器来说不是基本的,而且出于禁止JavaScript的安全保障胜过任何造成的兼容性问题。[99]阻止PDF文件漏洞的一种方式是有本地或网络服务能在阅读前把文件转换成其他格式。[100]

2010年3月30日安全专家Didier Stevens报告Adobe Reader和福昕阅读器有如果用户经询问允许启动时运行恶意可执行文件的漏洞。[101]

使用限制和显示[编辑]

PDF可能会被加密,以致查看或编辑内容时会要求输入密码。PDF参考书同时定义40位和128位加密,都运用RC4MD5的复杂系统。PDF参考书还定义第三方可以制定他们自己的PDF加密系统的方式。

PDF文件或许还包含嵌入的DRM限制,提供限制复制、编辑或打印的进一步控制。复制、编辑或打印的限制取决于阅读软件遵循他们,因此他们提供的安全机制是有限的。

PDF参考书有面向最终用户概览的技术细节。[102]就像HTML文件一样,PDF文件可以向网络服务器提交信息。这可以被用来追踪客户端PC的IP地址,这一过程被称作背景連線通訊。Acrobat Reader升级到7.0.5以后,用户会被提示“...via a dialogue box that the author of the file is auditing usage of the file, and be offered the option of continuing”。[103]

Adobe通过LiveCycle安全服务器提供针对特定文档设置安全策略的方法。这可以包括要求用户认证并限制文档可被离线打开的时候可以被访问或者载入的时期。PDF文档一旦被绑定到策略服务器和指定策略,这一策略可以被所有者更改或撤销。这一策略控制文档,否则就是“在自然状态下”。每个文档打开或关闭事件也可以被策略服务器追踪。策略服务器可以由个人设置,或Adobe通过Adobe在线服务提供公共服务。和其他DRM形式一样,依附这些策略和限制有可能会,也有可能不会被阅读器软件执行。

默认的显示设置[编辑]

PDF文档可以包含显示设置,包括页面显示输出和缩放级别。打开文档的时候Adobe Reader用这些设置去替换用户的默认设置。[104]免费的Adobe Reader不能移除这类限制。

内容[编辑]

PDF文件通常混合了矢量图形、文本和位图。PDF的基本内容包括:

  • 文本存储为内容字符串(就是不是文本本身)
  • 由图形和线条组成的用于说明和设计的矢量图形
  • 由相片和其他类型的图片组成的位图

在近期PDF标准修订中,PDF文档还支持链接(文档内部或网页)、表单、JavaScript(可通过Acrobat 3.0的插件启用),或者其他任意类型的能用插件控制的可嵌入内容。

PDF 1.6支持互动式3D文档嵌入PDF——3D绘图可用U3DPRC及其他多种格式嵌入。[105][106]

在电脑屏幕上看起来相似的两个PDF文件有可能大小不同。例如,一个高分辨率位图比低分辨率的占更多的存储空间。通常更高的分辨率更适宜打印文档而不是显示于屏幕。其他可能影响文件大小的可能有嵌入全部字体,尤其是东亚字体,以及将文字存为图片。

软件[编辑]

PDF通常免费提供,而且许多版本可以从多个来源获得。

有许多软件选项用来创建PDF,包括内建于Mac OS X及多数Linux发行版、LibreOfficeMicrosoft Office 2007(如果升级到SP2)、[107]WordPerfect 9、Scribus许多适用于Microsoft Windows的PDF打印驱动、pdfTeX排版系统、DocBook PDF工具、围绕GhostscriptAdobe Acrobat本身开发的应用以及Adobe FrameMaker的PDF排印功能。Google的在线办公套件Google Docs也允许上传、保存为PDF。

光栅图像处理器(RIPs)用于转换PDF文件为位图格式以适应于成像在纸上及其他媒体的打印机、数字生产用印刷机以及一种被称为栅格化的进程中的印前。有直接处理PDF能力的RIP包括在出自Adobe Systems和Jaws[108]的Adobe PDF排印引擎[109]与出自Global GraphicsHarlequin RIP当中。

编辑[编辑]

一些用于编辑PDF文件的特殊软件,通过受很多限制并且比创建和编辑标准可编辑文档格式更昂贵的选择。Inkscape 0.46及以后版本允许通过Poppler加入中间的转译步骤编辑PDF。

Serif PagePlus可打开、编辑和保存已有的PDF文档,以及软件包中创建的文档的发布。

Microsoft Office Word 2013也支援打开、编辑和保存已有的PDF文档的編輯功能。

Enfocus PitStop Pro,Acrobat的插件,允许PDF文件的手动和自动编辑,[110]同时免费的Enfocus Browser可以使编辑PDF的低级别架构成为可能。[111]

注释[编辑]

Adobe Acrobat是允许用户给已创建的PDF文件注释、高亮和添加笔记的专有软件的一个案例。作为自由软件可用的(GNU通用公共许可协议许可下)一个UNIX应用是PDFedit。另一个GPL授权的原生UNIX应用是Xournal。Xournal允许以不同的字体和颜色注释,以及用于为文本或段落的快速下划及高亮线条的规则。Xournal还有一个用于方形、矩形和圆形的形状识别工具。Xournal中的注释可以被移动、复制或粘贴。免费软件福昕阅读器,适用于Microsoft Windows,允许注释文档。Tracker Software的PDF-XChange Viewer的免费版允许不受限制的注释和标记。苹果Mac OS X内置PDF阅读器Preview也可以像免费软件Skim那样注释,后者支持与LaTeX、SyncTeX和PDFSync集成,以及与BibDesk参考文献管理软件集成。免费软件Qiqqa可以创建总结所有注释的报告,而且笔记通过他们的PDF库做出来。

对于移动版的注释,iAnnotate PDF(来自Branchfire)和GoodReader(来自Aji)允许对PDF注释以及导出注释的摘要。

还有一些支持注释PDF及其他文档格式web注释系统,如A.nnotatecrocodocWebNotes

在PDF被期望拥有纸质文档的全部功能的地方,墨水注释会被要求。一些接受来自鼠标的墨水输入的程序可能不足以对应平板上的手写输入。PC上已有的解决方案包括PDF AnnotatorQiqqa

其他[编辑]

PDF软件作为在线服务的例子包括用于查看和存储的Scribd、用于在线编辑的Pdfvue和用于PDF转换的Zamzar

1993年出自Global Graphics的Jaws位图处理器成为第一个不用转换到其他格式原生产生PDF的销售用的印前RIP。公司在1997年给他们的Harlequin RIP发布了一个有同样兼容性的更新。[112]

爱克发-吉华1997年推介并出售Apogee,第一个基于PDF的印前工作流系统。

许多商业的胶印机接受递交发布就绪的PDF文件作为印刷来源,特别是PDF/X-1a子集和相同的变种。[113]发布就绪的PDF文件的提交是对接收已收集本地文件工作的不确定性需求的替代。

PDF被选为Mac OS X的“本地”元文件英语metafile格式,取代早期Mac OSPICT英语PICT格式。Quartz图形层的图像模式基于Display PostScript和PDF共有的模式,产生了昵称Display PDF。Preview应用与Safari网页浏览器2.0及以后版本都可以显示PDF文件。对PDF的系统级支持使得Mac OS X应用可以自动创建PDF文档,给它们提供OS标准的打印架构支持。文件可以按文件标头输出为PDF 1.3格式。在Mac OS X 10.0到10.3版截图时,图像也可以截取为PDF;后来的版本保存截图为PNG文件,虽然这一行为若有需要可以重新设置为PDF。

一些桌面打印机也支持直接打印PDF,可以不用额外的辅助生成PDF数据。目前,所有PDF兼容打印机也支持PostScript,但多数PostScript打印机不直接支持PDF打印。

自由软件基金会曾认为他们的一个高优先级计划“提供自由、高质量和全功能的一组软件库及程序实现PDF文件格式及ISO 32000标准的相关技术”。[114][115]而在2011年,GNU PDF计划从“高优先级”列表中被移除,因为Poppler库的完善,[116]激励了像Evince之类的应用与GNOME桌面环境的广泛应用。Poppler基于Xpdf[117][118]代码。PDF軟體列表亦列出可用的商业开发用软件库。

Apache软件基金会Apache PDFBox计划是一款用于处理PDF文档的开放源代码Java库。PDFBox以Apache许可证授权发布。[119]

参考文献[编辑]

  1. ^ 1.0 1.1 The application/pdf Media Type, RFC 3778, Category: Informational, 2004 
  2. ^ Adobe Systems Incorporated, PDF Reference, Sixth edition, version 1.23 (30 MB), Nov 2006, p. 33.
  3. ^ Warnock, J. The Camelot Project (PDF). PlanetPDF. 1991. This document describes the base technology and ideas behind the project named “Camelot.” This project’s goal is to solve a fundamental problem [...] there is no universal way to communicate and view ... printed information electronically. 
  4. ^ 4.0 4.1 4.2 4.3 4.4 4.5 ISO 32000-1:2008 - Document management – Portable document format – Part 1: PDF 1.7. Iso.org. 2008-07-01 [2010-02-21]. 
  5. ^ Orion, Egan. PDF 1.7 is approved as ISO 32000. The Inquirer. The Inquirer. 2007-12-05 [2007-12-05]. ; Adobe wins backing for PDF 1.7. vnunet.com. 
  6. ^ Adobe Systems Incorporated, Public Patent License, ISO 32000-1: 2008 – PDF 1.7 (PDF), 2008 [2011-07-06] 
  7. ^ Guide for the procurement of standards-based ICT - Elements of Good Practice, Against lock-in: building open ICT systems by making better use of standards in public procurement. European Commission. 2013-06-25 [2013-10-20]. Example: ISO/IEC 29500, ISO/IEC 26300 and ISO 32000 for document formats reference information that is not accessible by all parties (references to proprietary technology and brand names, incomplete scope or dead web links). 
  8. ^ 8.0 8.1 8.2 8.3 ISO/TC 171/SC 2/WG 8 N 603 - Meeting Report (PDF), 2011-06-27, XFA is not to be ISO standard just yet. ... The Committee urges Adobe Systems to submit the XFA Specification, XML Forms Architecture (XFA), to ISO for standardization ... The Committee is concerned about the stability of the XFA specification ... Part 2 will reference XFA 3.1 
  9. ^ Embedding and publishing interactive, 3-dimensional, scientificfigures in Portable Document Format (PDF) files. [2013-10-20]. ... the implementation of the U3D standard was not complete and proprietary extensions were used. 
  10. ^ 10.0 10.1 10.2 Leonard Rosenthol, Adobe Systems. PDF and Standards (PDF). 2012 [2013-10-20]. 
  11. ^ Duff Johnson, Is PDF an open standard? - Adobe Reader is the de facto Standard, not PDF, 2010-06-10 [2014-01-19] 
  12. ^ The Camelot Project (PDF). 
  13. ^ Laurens Leurs. The history of PDF. [2007-09-19]. 
  14. ^ Duff Johnson. The 8 most popular document formats on the web. [2014-03-02]. 
  15. ^ R, Leonard, History of PDF Openness, Acrobat users, (原始内容存档于2007-10-14) 
  16. ^ 16.0 16.1 Adobe Systems Incorporated, Portable Document Format Reference Manual Version 1.2 (PDF), 1996-11-12 [2010-02-23] 
  17. ^ Adobe Systems, PDF Reference second edition – Adobe Portable Document Format Version 1.3 (PDF), 2000 [2010-02-23] 
  18. ^ 18.0 18.1 18.2 18.3 Adobe Systems. Adobe PDF Reference Archives. [2010-02-23]. 
  19. ^ Adobe Systems, PDF Reference third edition – Adobe Portable Document Format Version 1.4 (PDF), 2001 [2010-02-23] 
  20. ^ Technical Note # 5186 Acrobat JavaScript Object Specification Version 5.1 (PDF), 2003 
  21. ^ Adobe Systems, PDF Reference fourth edition – Adobe Portable Document Format Version 1.5 (PDF), 2003 [2010-02-23] 
  22. ^ PDF compatibility levels. [2010-04-01]. 
  23. ^ Acrobat JavaScript Scripting Guide, Technical Note #5430, Version: Acrobat 6.0 (PDF), May 2003 
  24. ^ Acrobat JavaScript Scripting Reference (PDF), 2005-06-27 
  25. ^ 25.0 25.1 25.2 25.3 25.4 25.5 25.6 25.7 Adobe Developer Connection: PDF Reference and Adobe Extensions to the PDF Specification. Adobe Systems. [2010-12-13]. 
  26. ^ JavaScript for Acrobat API Reference, Version 8 (PDF), April 2007 
  27. ^ XML Forms Architecture (XFA) Specification Version 2.6 (PDF), 2008-01-25 [2014-04-09] 
  28. ^ 28.0 28.1 Adobe Supplement to the ISO 32000 BaseVersion: 1.7 ExtensionLevel: 3 (PDF), 2008-06 [2014-04-09] 
  29. ^ XML Forms Architecture (XFA) Specification Version 2.8 (PDF), 2008-10-23 [2014-04-09] 
  30. ^ XML Forms Architecture (XFA) Specification Version 3.0 (PDF), 2009-03-12 [2014-04-09] 
  31. ^ XML Forms Architecture (XFA) Specification Version 3.1 (PDF), 2009-11-16 [2014-04-09] 
  32. ^ PDFlib API Reference 8.0.2 (PDF), [2011-03-07], 1.7ext8 – PDF 1.7 extension level 8 requires Acrobat X 
  33. ^ 33.0 33.1 XML Forms Architecture (XFA) Specification Version 3.3 (PDF), 2012-01-09 [2014-04-09] 
  34. ^ PDFlib - PDF Security - Encryption Algorithms and Key Length (PDF), [2012-09-26] 
  35. ^ PDFlib - PDF Security - Security Recommendations (PDF), [2012-09-26], AES-256 according to PDF 1.7 Adobe Extension Level 3 (Acrobat 9) should be avoided because it contains a weakness in the password checking algorithm which facilitates brute-force attacks against the password. For this reason Acrobat X no longer offers Acrobat 9 encryption for protecting new documents (only for decrypting existing documents). In summary, AES-256 according to PDF 1.7 Adobe Extension Level 8/PDF 2.0 or AES-128 according to PDF 1.6/1.7 should be used, depending on whether or not Acrobat X is available. Passwords should be longer than 6 characters and should contain non-alphabetic characters. 
  36. ^ ISO 32000 U.S. Committee, Statement on PDF 1.7, Editme 
  37. ^ ISO Draft of the PDF 1.7 Reference - Adobe's change summary (PDF), 2007-06-04 [2014-01-19] 
  38. ^ 38.00 38.01 38.02 38.03 38.04 38.05 38.06 38.07 38.08 38.09 38.10 38.11 38.12 Adobe Systems Incorporated, Document Management – Portable Document Format – Part 1: PDF 1.7, First Edition (PDF), 2008-07-01 [2010-02-19] 
  39. ^ ISO standards by Technical committee - TC 171/SC 2 - Document management applications / Application issues. [2011-01-11]. 
  40. ^ ISO standards by Technical committee - TC 130 - Graphic technology. [2011-01-11]. 
  41. ^ AIIM to Facilitate ISO Standards Process for Leading Electronic Document Format. 2007-01-29 [2011-01-11]. 
  42. ^ ISO 16612-2:2010 - Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2). [2011-02-25]. 
  43. ^ PDF Healthcare Frequently Asked Questions. 2006-09-25 [2011-01-11]. 
  44. ^ PDF Healthcare (PDF/H) Committee. [2011-01-11]. 
  45. ^ PDF/H Implementation Guide Materials. [2011-01-11]. 
  46. ^ ISO 32000-1:2008, Page 1, section "1 Scope"
  47. ^ 47.0 47.1 ISO/CD 32000-2 - Document management -- Portable document format -- Part 2: PDF 2.0. 2013-07-26 [2013-08-02]. 
  48. ^ 48.0 48.1 ISO/NP 32000-2 - Document management -- Portable document format -- Part 2: PDF 2.0. 2009-10-06 [2010-02-24]. 
  49. ^ Duff Johnson. ISO 32000-2 (under development). [2014-03-02]. 
  50. ^ Dr. Matthew Hardy, Adobe Systems. Seven Minutes with a PDF Standard – PDF (ISO 32000) (PDF). 2012 [2013-10-20]. 
  51. ^ AIIM. ISO 32000 Committee Organization. [2014-02-15]. 
  52. ^ 9月1日起PDF格式成为中国国家标准. 新浪科技. 2009-07-03 (中文(中国大陆)‎). 
  53. ^ 文献管理长期保存的电子文档文件格式第1部分:PDF1.4(PDF/A-1)的使用. 国家标准化管理委员会 (中文(中国大陆)‎). 
  54. ^ partners.adobe.com - Developer Resources
  55. ^ http://jimpravetz.com/blog/2012/12/in-defense-of-cos/
  56. ^ Adobe Systems, PDF Reference, p. 51.
  57. ^ Adobe Systems, PDF Reference, pp. 39–40.
  58. ^ Adobe Acrobat Base 14 Fonts
  59. ^ The PDF Font Aquarium
  60. ^ PDF Referencem Sixth Edition, version 1.7, table 5.11 (PDF). 
  61. ^ PDF Blend Modes Addendum
  62. ^ Gnu PDF - PDF Knowledge - Forms Data Format. [2010-02-19]. (原始内容存档于2013-01-01). 
  63. ^ About PDF forms. [2010-02-19]. 
  64. ^ Convert XFA Form to AcroForm?. 2008 [2010-02-19]. 
  65. ^ Migrating from Adobe Acrobat forms to XML forms. [2010-02-22]. 
  66. ^ Adobe Systems Incorporated. Using Acrobat forms and form data on the web. 2007-10-15 [2010-02-19]. 
  67. ^ 67.0 67.1 XML Forms Data Format Specification, version 2 (PDF), September 2007 [2010-02-19] 
  68. ^ 68.0 68.1 FDF Data Exchange Specification (PDF), 2007-02-08 [2010-02-19] 
  69. ^ IANA Application Media Types - vnd.fdf, [2010-02-22] 
  70. ^ IANA Application Media Types - Vendor Tree - vnd.adobe.xfdf, [2010-02-22] 
  71. ^ 71.0 71.1 ISO/CD 19444-1 - Document management - XML forms data format - Part 1: XFDF 3.0, [2014-11-26] 
  72. ^ 72.0 72.1 72.2 Adobe Systems Incorporated. Adobe XML Forms Architecture (XFA). [2010-02-19]. 
  73. ^ Adobe Reader - Software license agreement (PDF), [2010-02-19] 
  74. ^ LiveCycle Reader Extensions ES features and benefits. [2010-02-19]. 
  75. ^ 75.0 75.1 XML Forms Architecture (XFA) Specification Version 2.5 (PDF), 2007-06-08 [2010-02-19] 
  76. ^ What is Tagged PDF?
  77. ^ Is PDF Accessible?
  78. ^ FreeMyPDF - A website that removes PDF user password restrictions
  79. ^ Adobe PDF reference version 1.7, section 10.2
  80. ^ IS TC 171 SC 2
  81. ^ PDF Association
  82. ^ Jackson, Joab. Adobe plunges PDF into XML. Government Computer News. 2006-12-07 [2008-01-12]. 
  83. ^ Adobe Systems. Mars. [2014-03-17]. 
  84. ^ http://labs.adobe.com/technologies/mars/
  85. ^ PDF Accessibility. WebAIM. [2010-04-24]. 
  86. ^ Joe Clark. Facts and Opinions About PDF Accessibility. 2005-08-22 [2010-04-24]. 
  87. ^ Accessibility and PDF documents. Web Accessibility Center. [2010-04-24]. 
  88. ^ PDF Accessibility Standards v1.2. [2010-04-24]. 
  89. ^ PDF Accessibility (PDF), California State University, [2010-04-24] 
  90. ^ Frequently Asked Questions (FAQs) – ISO 19005-1:2005 – PDF/A-1, Date: July 10, 2006 (PDF), 2006-07-10 [2011-07-06] 
  91. ^ PDF/A – A Look at the Technical Side (PDF). [2011-07-06]. 
  92. ^ LibreOffice Help - Export as PDF, [2012-09-22] 
  93. ^ Exporting PDF/A for long-term archiving, 2008-01-11 
  94. ^ Adobe Reader 8 - Read a PDF with Read Out Loud. [2010-04-24]. 
  95. ^ Biersdorfer, J.D. Tip of the Week: Adobe Reader’s ‘Read Aloud’ Feature. The New York Times. 2009-04-10 [2010-04-24]. 
  96. ^ Accessing PDF documents with assistive technology: A screen reader user's guide (PDF), Adobe, [2010-04-24] 
  97. ^ Adobe Forums, Announcement: PDF Attachment Virus "Peachy", 15 August 2001.
  98. ^ Security bulletins and advisories. Adobe. [2010-02-21]. 
  99. ^ Steve Gibson - SecurityNow Podcast
  100. ^ PDFCleaner - PDF Exploit Sanitizer
  101. ^ PCmag.com blogs
  102. ^ Create Adobe PDF Online - Security Settings Help. Createpdf.adobe.com. [2010-02-21]. 
  103. ^ New features and issues addressed in the Acrobat 7.0.5 Update (Acrobat and Adobe Reader for Windows and Mac OS)
  104. ^ Getting Familiar with Adobe Reader > Understanding Preferences. [2009-04-22]. 
  105. ^ 3D supported formats. Adobe. 2009-07-14 [2010-02-21]. 
  106. ^ Acrobat 3D Developer Center. Adobe. [2010-02-21]. 
  107. ^ Description of 2007 Microsoft Office Suite Service Pack 2 (SP2). Microsoft. [2009-05-09]. 
  108. ^ www.globalgraphics.com/products/jaws_rip/
  109. ^ Adobe PDF Print Engine 2
  110. ^ [1]
  111. ^ http://www.enfocus.com/product.php?id=4530
  112. ^ Harlequin MultiRIP. [2014-03-02]. 
  113. ^ Press-Ready PDF Files "For anyone interested in having their graphic project commercially printed directly from digital files or PDFs." (last checked on 2009-02-10).
  114. ^ On 2014-04-02, a note dated 2009-02-10 referred to Current FSF High Priority Free Software Projects as a source. Content of the latter page, however, changes over time.
  115. ^ GNUpdf contributors. Goals and Motivations. gnupdf.org. GNUpdf. 2007-11-28 [2014-04-02]. 
  116. ^ Lee, Matt. GNU PDF project leaves FSF High Priority Projects list; mission complete!. fsf.org. Free Software Foundation. 2011-10-06 [2014-04-02]. 
  117. ^ Poppler homepage "Poppler is a PDF rendering library based on the xpdf-3.0 code base." (last checked on 2009-02-10)
  118. ^ Xpdf license "Xpdf is licensed under the GNU General Public License (GPL), version 2 or 3." (last checked on 2012-09-23).
  119. ^ The Apache PDFBox project . Retrieved 2009-09-19.

参见[编辑]

外部链接[编辑]