2016-04-27 45 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