2012-08-29 82 views
4

我願意XHTML文件/格式或PDF文件轉換成PDF格式的PDF/A格式..任何人都可以請建議我可以使用哪些Java庫.. 謝謝PDF轉換使用Java庫

我會讓我的例子更具體

我有一個簡單的HTML文件xyz.html

<html><body> 
hello 
<br> 
<font style = "Helvetica">hello</font> 
<br> 
</body></html> 

java代碼:

Document document = new Document(PageSize.A4); 
FileOutputStream fout = new FileOutputStream(pdffile); 
PdfWriter pdfWriter = PdfWriter.getInstance(document, fout); 
pdfWriter.setPDFXConformance(PdfWriter.PDFA1B); 
FileReader fr = new FileReader(xyz.html); 
document.open(); 
HashMap<String, Object> Provider = new HashMap<String, Object>(); 
DefaultFontProvider def = new 
Provider.put(HTMLWorker.FONT_PROVIDER, def); 
HTMLWorker htmlWorker = new HTMLWorker(document); 
htmlWorker.setProviders(Provider); 
htmlWorker.parse(fr); 

我得到錯誤com.itextpdf.text.pdf.PdfXConformanceException:必須嵌入所有字體。這一個不是:Helvetica

+0

我正在使用iText進行轉換,但它沒有提供任何選項來從PDF轉換爲PDF/a ..而我嘗試使用pdfWriter.setPDFXConformance(PdfWriter.PDFA1B從xhtml轉換爲pdf/a 1a或pdf/a 1b )得到一個錯誤「所有的字體必須嵌入。這不是:Helvetica」..任何人都可以提出任何解決方案 – ranjan

+0

你使用什麼版本的iText? – baron5

回答

1

檢查iText庫,它有兩種Java.net
http://itextpdf.com/

在以下鏈接幾個例子支持:
http://itextpdf.com/book/examples.php
http://www.rgagnon.com/javadetails/java-html-to-pdf-using-itext.html

這是proprietory但 它真的是一個聰明的企業圖書館和有良好的客戶支持。

+0

你有什麼想法如何解決這個問題..當我設置pdfWriter.setPDFXConformance(PdfWriter.PDFA1B),我得到一個錯誤「所有的字體必須嵌入。這一個不是:Helvetica」 – ranjan

+1

iText是沒有專有的軟件!!!這是開源的,根據AGPL,如果你想從AGPL的限制中解脫出來,可以獲得商業許可。另外,您可能想指向官方的[示例](http://itextpdf.com/book/examples.php)和[關鍵字](http://itextpdf.com/themes/keywords。php) –

+0

對於@ranjan,你可以看看PDF/A示例[這裏](http://itextpdf.com/examples/iia.php?id=226)。 –

0

我的預期行爲的工作,我們已經開發了一個SaaS應用程序名爲DocRaptor是HTML轉換使用XML王子作爲我們的渲染引擎PDF。 DocRaptor使用HTTP POST請求來生成PDF文件,並可以與Java一起使用。

下面是我們的Java示例鏈接:

DocRaptor Java example

和鏈接到DocRaptor的主頁:

DocRaptor

DocRaptor是一種基於訂閱的服務,但我們的免費計劃允許您每個月最多創建5個文檔,而且我們不嵌入水印或限制免費文檔的大小。