我正在嘗試為發票創建 PDF/A 文件。因此,我嘗試使用gofpdf庫為我的文件設置 XMP 標頭。設置標題似乎工作正常,但我的任何驗證器(如 exiftool 或驗證網站)都無法識別 XMP 數據。我正在使用這樣的 PDF 庫:您可以在此處找到可重現的示例。 pdf, customerNumber, err := GeneratePDF(type, id, user, nil) if err != nil { return err } pointerVal := reflect.ValueOf(pdf.Fpdf) val := reflect.Indirect(pointerVal) member := val.FieldByName("pdfVersion") ptrToY := unsafe.Pointer(member.UnsafeAddr()) realPtrToY := (*string)(ptrToY) *realPtrToY = "1.4" pdf.SetXmpMetadata(XMP_HEADER) err = s.SavePDFAndRespondWith(type, id, customerNumber, user, pdf) if err != nil { return err }內容 XMP 內容看起來像這樣,是從工作示例文件中取出的。示例文件不是用 Go 和 gofpdf 生成的。 var XMP_HEADER = []byte(` <?xpacket begin="???" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">打開結果文件(示例)時,您可以看到嵌入的 XMP 數據:<< /Type /Metadata /Subtype /XML /Length 3286 >>stream <<< ... RDF ... >>>endstreamendobj6 0 obj<</Producer (FPDF 1.7)/CreationDate (D:20200615175638)>>endobj7 0 obj這個 XMP 似乎沒有被任何驗證器或 adobe 接收。任何幫助表示贊賞。
未拾取 PDF/A XMP 數據
慕的地8271018
2022-06-13 10:38:02