2016-04-27 42 views
1

我正在用iTextSharp 5.5.9创建ZUGFeRD PDF文件,目前工作正常。目前唯一不起作用的是一致性级别的设置。iTextSharp和ZUGFeRD基本配置文件

writer = PdfAWriter.GetInstance(document, New FileStream(strFilenameOut, FileMode.Create), PdfAConformanceLevel.ZUGFeRDBasic) 

writer.SetPDFXConformance(PdfAConformanceLevel.ZUGFeRDBasic) 

不会为我工作。元数据包含%s而不是BASIC,如下面的屏幕截图所示。

ZUGFeRD Metadata

我想我错过了一些设置。也许有人有同样的问题,可以帮助我解决这个问题。

问候 约亨

回答

0

ZUGFeRD是基于PDF/A-3标准。您正在使用一种方法来设置PDF/X一致性。 PDF/A和PDF/X是两个非常不同的标准。您不应设置PDF/X一致性。

请看官方文档。我写了一本关于ZUGFeRD的书。如果您填写以下表格,您可以将本书下载为电子书:http://pages.itextpdf.com/ZUGFeRD.html

对于基本配置文件,您需要查看Chapter 5。有many examples available online

这是它是如何在Java中完成的:

PdfAWriter writer = PdfAWriter.getInstance(document, 
    new FileOutputStream(dest), PdfAConformanceLevel.ZUGFeRDBasic); 

在C#中,你必须:

所有的例子在Java中工作,但最近有一个与检测到问题C#端口。也许你遇到了同样的问题。据我所知,这个问题已经在当前的开发版本中得到解决。

如果您是客户,您应该要求您的客户经理获得解决此问题的修补程序。

+0

你好布鲁诺, 它是我的一次。我正在使用5.5.8中的iText#并使用PdfACopy产生相同的错误。我正在用这种方式实例化PdfACopy:'PdfACopy copy = new PdfACopy(docZUGFeRD,fs,PdfAConformanceLevel.ZUGFeRDBasic);'。我发现替换函数(String.Format)完全不起作用。它只是不会取代'%s'。我在帖子中添加了一些截图来说明我的意思。 @乔臣,你是怎么解决这个问题的? – Andy

+0

问题是否在iTextSharp 5.5.9中持续存在? –

+0

我刚刚更新至5.5.9,问题仍然存在 – Andy