Guel135
2016-10-14 18:14:33 UTC
我正在嘗試找到一個Java庫,該庫可以使用CSS打印樣式從HTML轉換為PDF。
我需要該庫免費用於商業用途。不像itext,您需要付費或使用顯示所有代碼的AGPL許可證。
我正在嘗試找到一個Java庫,該庫可以使用CSS打印樣式從HTML轉換為PDF。
我需要該庫免費用於商業用途。不像itext,您需要付費或使用顯示所有代碼的AGPL許可證。
您有一些選擇:
最後,庫選擇的是“飛碟”,它使用了itext中舊的開放源代碼版本的功能,並允許我們不僅使用所有CSS打印樣式,而且至少使用重要的樣式。
https://github.com/flyingsaucerproject/flyingsaucer
飛碟接受CSS 2.1規範。您可以在 link中獲得有關它的更多信息,並在Internet中檢查CSS規範(我沒有特權放置兩個以上的鏈接)
您可以使用Cloudmersive Convert API,該軟件免費提供商業用途,每月最多可進行1000次轉換。在Java中可以通過以下方式調用它:
//導入類:// import com.cloudmersive.client.invoker.ApiClient; // import com.cloudmersive.client.invoker.ApiException ; //導入com.cloudmersive.client.invoker.Configuration; //導入com.cloudmersive.client.invoker.auth。*; //導入com.cloudmersive.client.ConvertDocumentApi; ApiClient defaultClient = Configuration.getDefaultApiClient(); // /配置API密鑰授權:ApikeyApiKeyAuth Apikey =(ApiKeyAuth)defaultClient.getAuthentication(“ Apikey”); Apikey.setApiKey(“ YOUR API KEY”); //取消註釋以下行以設置API密鑰的前綴,例如“令牌”(默認為null)// Apikey.setApiKeyPrefix(“ Token”); ConvertDocumentApi apiInstance = new ConvertDocumentApi(); File inputFile = new File(“ / path / to / inputfile”); //文件|輸入文件以執行操作。Boolean includeBackgroundGraphics = true; //布爾|可選:設置為true可在PDF中包括背景圖形,或設置為false可不包括在PDF中。默認值為true.Integer scaleFactor = 56; //整數|可選:設置為100以按100%縮放,設置為50%以按比例縮小到50%縮放,設置為200%以按比例縮放到200%縮放,依此類推。默認值為100%。最大值為1000%。嘗試{byte []結果= apiInstance.convertDocumentHtmlToPdf(inputFile,includeBackgroundGraphics,scaleFactor); System.out.println(result);} catch(ApiException e){System.err.println(“調用ConvertDocumentApi#convertDocumentHtmlToPdf時發生異常”); e.printStackTrace();}
您可以使用基於wkhtmltopdf的 htmltopdf-java。
我知道這是一個有點老的話題,但是為了以後的參考和以後的編碼人員,我建議使用我個人使用的 https://pdfmyurl.com。
它確實具有.NET / C#,Java,JavaScript,PHP,Perl,Ruby,Python和VB.net的代碼示例。
除了對程序員友好的平台之外,它確實具有良好的性能。文檔化的教程,可以輕鬆地遵循。
這不是Java庫,但是您可以以無頭模式(沒有GUI,就像命令行一樣)執行Chrome,並命令其創建所需頁面(URL)的PDF或PNG文件。