1
我嘗試創建一個包含嵌入式XML文件的PDF/A-3b文件,以符合ZUGFeRD。爲此我使用Perl和PDFLib。 PDFLib文檔僅適用於Java和PHP。創建PDF工作正常,但XML部分是我的問題。如何爲ZUGFeRD發票創建虛擬XML
那麼我怎樣才能從XML創建一個PVF並將其加入到我的PDF?
這是PDFLib建議在Java中:
// Place XML stream in a virtual PVF file
String pvf_name = "/pvf/ZUGFeRD-invoice.xml";
byte[] xml_bytes = xml_string.getBytes("UTF-8");
p.create_pvf(pvf_name, xml_bytes, "");
// Create file attachment (asset) from PVF file
int xml_asset = p.load_asset("Attachment", pvf_name,
"mimetype=text/xml description={ZUGFeRD invoice in XML format} "
+ "relationship=Alternative documentattachment=true");
// Associate file attachment with the document
p.end_document("associatedfiles={" + xml_asset + "}");
所以我想,採取的例子,適合它的Perl:
my $xmldata = read_file($xmlfile, binmode => ':utf8'); #I use example xml at the moment
my $pvf_xml = "/pvf/ZUGFeRD-invoice.xml";
PDF_create_pvf($pdf, $pvf_xml, $xmldata, ""); #because no OOP i need to call it this way (works with all other PDF Functions)
my $xml_invoice = PDF_load_asset("Attachment", $pvf_xml, "mimetype=text/xml "
."description={Rechnungsdaten im Zugferd-Xml-Format} "
."relationship=Alternative documentattachment=true");
PDF_end_document($pdf, "associatedfiles={".$xml_invoice."}");
在它也不需要轉換爲ByteArray的PHP實例讀完xml後。進一步嘗試解包,但似乎沒有問題。
如果我打電話給我的劇本我剛:
用法:load_asset(類型,文件名,optlist)根據; at signatur_test.pl line 41.
我認爲問題在於pvf_xml沒有在之前創建的行。 任何人之前做過這個,沒有如何解決這個問題?