2013-08-21 25 views
2

我需要寫一個.NET應用程序將從數據庫中採取的各種數據並構建必須是在PDF/A格式,因爲各公司標準PDF PDF文件。如何programmaticaly構建與PDF/A格式

到目前爲止,我已經看過PDFSharp和iTextSharp的

我看到一個主題PDFSharp論壇http://forum.pdfsharp.net/viewtopic.php?p=1293#p1293張一兵同志商榷這個題目,他們紛紛表示年前PDF/A的支持是他們的待辦事項列表,但什麼都沒有來它。

我找不到任何有關使用這些庫的PDF/A格式的信息。在滿足PDF/A限制的同時是否需要構建PDF?我不知道如何驗證文件是否爲PDF/A格式...

+0

看到這個http://stackoverflow.com/a/15412879/231316 –

+0

可能重複的[如何使用iTextSharp從HTML創建PDF/A文件](http://stackoverflow.com/questions/15409617/how-create -pdf-a-file-from-html-using-itextsharp) –

+0

使用XSL FO和支持PDF/A的引擎(其中很多都是) –

回答

3

查看iText 5.3.4的release noteschangelog

您可以使用iTextSharp創建PDF/A-1(A級/ B級),PDF/A-2和PDF/A-3文件。但是,我們只在PDF/A-1的創建過程中檢查一致性。如果您創建PDF/A-2和PDF/A-3文件,作爲開發人員的責任是不要介紹違反PDF/A標準的內容。在未來的版本中,iText會爲您檢查。

PDF/A-3 with iText讓您瞭解需要什麼(這些示例在Java中,但將它們移植到C#應該不會成爲問題)。確保你使用PdfAWriter類而不是PdfWriter,並確保你有最新版本。

請注意,創建PDF/A級A是一項挑戰。您必須在代碼中設置每個元素的角色(ParagraphAnchor,...)。通常情況下,使用XFA模板,使用XFA數據填充它,然後讓iText的XFA工作者將它變平。

iText不會對現有PDF/A文件進行驗證。重要的是要知道文檔頂部顯示的「藍條」,並說文檔是PDF/A,這是不夠的。您需要驗證文檔,例如使用Adobe Acrobat(預檢功能)。

0

我們決定去與官方的Adobe PDF庫,因爲我公司是猶豫使用任何自由/開源軟件。

該庫具有將PDF轉換爲PDFA的簡單功能。我已經使用Adobe Acrobat Pro中的預檢工具確認PDF的輸出是PDFA,感謝Bruno Lowagie提供的信息。