use*_*407 48 c c++ pdf specifications
我想编写一个可以读取和解码pdf文档的应用程序; 现在我应该得到这个文件格式的规格?PDF格式是从ISO组标准化的,但我不清楚哪里是获得此类信息的最可靠来源.
从这种文件格式开始有什么好的来源?
Dav*_*che 38
你实际上可以使用你提到的两种来源; 混乱是历史的.
Adobe发明了PDF,并发明了与其一起使用的Acrobat产品系列.不同的PDF版本与主要的Acrobat版本一起发布(例如PDF 1.3与Acrobat 4一起发布).
由于采用了PDF格式,并且因为编写了许多实际依赖于专有PDF文件格式的ISO标准(对于ISO标准来说并不容易),Adobe决定将PDF格式移交给ISO.
从那时起直到今天,还有一个ISO委员会负责编辑PDF规范并提出新版本.PDF的ISO标准是ISO 32000.
另外,请记住,根据您要使用PDF的位置,许多其他ISO标准可能非常有用或不可或缺.其中最常用的是PDF/X(用于在出版社区交换PDF文件)和PDF/A(用于创建需要在长期存储中存档的PDF文件).这些规范引用了PDF标准的特定版本,并添加了其他要求和限制.
就规范而言,您可以直接从ISO获取所有文档.但是,对于PDF本身,您也可以从Adobe获取它,该文档将是相同的.请参阅Acrobat上的Adobe DevNet站点:
http://www.adobe.com/devnet/acrobat.html
只需下载Acrobat SDK即可获得文档作为其中的一部分.
让我在代码中对"定位PDF规范"添加一个警告.我真的,真的,真的建议你更清楚地明确说明你对PDF的需求(编辑,生成,质量控制(预检)),然后查找或询问满足这些需求的现有库,或者可以扩展到满足您的需求.
编写一般支持"PDF"的东西将是一项艰巨的任务.PDF规范是庞大的,错综复杂的,充满......好......细节.有龙!
更新:
直接链接到Adobe的PDF-1.7规范文档(第一版,免费下载,在这里:
该文件的内容后来被正式采用为一般PDF,ISO 32000-1的ISO标准.
但请注意,ISO提供的PDF文件存在一些差异:
如果您开始开发PDF软件,从上面的Adobe链接获得(免费)PDF就足够了.
小智 5
自今天(2023 年 4 月)起,得益于一些慷慨的赞助商,所有人都可以免费使用 PDF 2.0 ISO 标准。其中还包括 ISO 批准的勘误表和新的 PDF 2.0 加密扩展。请参阅https://www.pdfa.org/announcing-no-cost-access-to-iso-32000-2-pdf-2-0/获取您自己的副本。
ISO 32000-2 是第一个完全在供应商中立、基于共识的论坛中开发的 PDF 规范。我们进行了许多更正和澄清,以帮助每个 PDF 用户确保可靠性和互操作性,因此请停止使用已有十多年历史的旧版本。
PDF 不是一种轻量级格式。它基本上是后记,上面有压缩。您肯定想使用现有的库,而不是编写自己的库。这是一项艰巨的任务。
或者获取现有的 PDF 编写器应用程序,并从您的程序中启动它。
我没怎么看过,但libgnupdf看起来还不错。
根据维基百科,PDF 结合了三种技术:
- PostScript 页面描述编程语言的子集,用于生成布局和图形。
- 字体嵌入/替换系统,允许字体与文档一起移动。
- 结构化存储系统,将这些元素和任何相关内容捆绑到单个文件中,并在适当的情况下进行数据压缩。