我正在用iTextSharp 5.5.9创建ZUGFeRD PDF文件,到目前为止工作正常。目前唯一不起作用的是使用一致性级别进行设置。
writer = PdfAWriter.GetInstance(document, New FileStream(strFilenameOut, FileMode.Create), PdfAConformanceLevel.ZUGFeRDBasic)
或
writer.SetPDFXConformance(PdfAConformanceLevel.ZUGFeRDBasic)
对我不起作用。元数据包含%s而不是BASIC,如下面的屏幕截图所示。
我想我错过了要设置的东西。也许有人有同样的问题,可以帮我解决这个问题。
此致 约亨
答案 0 :(得分:0)
ZUGFeRD基于PDF / A-3标准。您正在使用一种方法来设置PDF / X一致性。 PDF / A和PDF / X是两个非常不同的标准。您不应该设置PDF / X一致性。
请查看官方文档。我写了一本关于ZUGFeRD的书。如果您填写此表单,可以将此书作为电子书下载:http://pages.itextpdf.com/ZUGFeRD.html
对于Basic配置文件,您需要查看Chapter 5。有many examples available online。
这是用Java完成的:
PdfAWriter writer = PdfAWriter.getInstance(document,
new FileOutputStream(dest), PdfAConformanceLevel.ZUGFeRDBasic);
在C#中,您将拥有:
PdfAWriter writer = PdfAWriter.GetInstance(document,
New FileStream(strFilenameOut, FileMode.Create), PdfAConformanceLevel.ZUGFeRDBasic)
所有示例都使用Java,但最近使用C#端口检测到问题。也许你遇到了同样的问题。据我所知,这个问题已在当前的开发版本中得到修复。
如果您是客户,则应该要求您的客户经理获取解决此问题的修补程序。