【发布时间】:2015-05-11 10:44:18
【问题描述】:
我正在使用 tcpdf 生成 pdf/a1-b 格式的发票。据我所知,不可能用 tcpdf 生成 pdf-a3。 是否有可能将 pdf/a-1b 转换为 pdf/a-3?它只是生成一个 invoice.xml 文件并将其附加到我的 invoice.pdf 中吗?
【问题讨论】:
我正在使用 tcpdf 生成 pdf/a1-b 格式的发票。据我所知,不可能用 tcpdf 生成 pdf-a3。 是否有可能将 pdf/a-1b 转换为 pdf/a-3?它只是生成一个 invoice.xml 文件并将其附加到我的 invoice.pdf 中吗?
【问题讨论】:
看看我的幻灯片ZUGFeRD: an overview,你会发现你不能只使用任何invoice.xml。虽然 PDF/A-1b 文件也符合 PDF/A-3b,但您不能只是将 XML 文件作为附件附加。
您需要将 XML 文件命名为 ZUGFeRD-invoice.xml(not invoice.xml)并将此 XML 作为关联文件(/AF)添加到定义关系作为替代。您还需要告诉 PDF 您符合 ZUGFeRD 的哪个级别(基本、舒适、扩展)。这是在 XMP 流中完成的(与您将文件定义为 PDF/A-3 的位置相同)。
我不知道有任何足够先进的 PHP 库来实现这一点。关联文件的概念比较新,ZUGFeRD 是在 2014 年才在德国引入的。该规范的英文翻译日期为 2015 年 1 月。如果流行的 PDF 的 PHP 库已经知道 ZUGFeRD,我会感到惊讶。
【讨论】:
mPDF 库现在支持创建符合 PDF/A-3 的文件。 https://mpdf.github.io/ 您可以在以下位置找到更多信息: https://mpdf.github.io/what-else-can-i-do/pdf-a3-xmp-rdf.html#
此外,我发现这个库可以生成所需的 XML 文件:https://github.com/easybill/zugferd-php 但是,这可能不是 2020 年 3 月以来的最新标准 ZUGFeRD 2.1。 有关该标准的更多信息,请访问: https://www.ferd-net.de/zugferd/zugferd-2.1/index.html
【讨论】: