幾種方案:
方法一:用apache pio 讀取doc文件,然後轉成html文件用Jsoup格式化html文件,最後用itext將html文件轉成pdf。
方法2:使用jdoctopdf來實現,這是一個封裝好的包,可以把doc轉換成pdf,html,xml等格式,調用很方便
地址:http://www.maxstocker.com/jdoctopdf/downloads.php
需要注意中文字體的寫入問題。
方法3:使用jodconverter來調用openOffice的服務來轉換,openOffice有個各個平台的版本,所以這種方法跟方法1一樣都是跨平台的。
jodconverter的下載地址:http://www.artofsolving.com/opensource/jodconverter
首先要安裝openOffice,下載地址:http://www.openoffice.org/download/index.html
安裝完後要啟動openOffice的服務,具體啟動方法請自行google
方法4:效果最好的一種方法,但是需要window環境,而且速度是最慢的需要安裝msofficeWord以及SaveAsPDFandXPS.exe(word的一個插件,用來把word轉化為pdf)
Office版本是2007,因為SaveAsPDFandXPS是微軟為office2007及以上版本開發的插件
SaveAsPDFandXPS下載地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=7
jacob 包下載地址:http://sourceforge.net/projects/jacob-project/
② java 將圖片生成pdf 問題
在Java中生成PDF文檔時,你可以使用iText庫來處理圖片並將其轉換為PDF。具體來說,你可以通過以下步驟完成這一任務。首先,你需要創建一個PDF文檔對象,例如:Document doc = new Document(null, 0, 0, 0, 0);。然後,你需要通過指定圖片路徑獲取圖片對象,例如:Image image = Image.getInstance(imgPath);。接著,你需要實例化PdfWriter對象,將文檔與輸出流關聯,例如:PdfWriter.getInstance(doc, fos);。
除此之外,你需要打開文檔進行寫入操作,並添加圖片到文檔中。打開文檔的方法為:doc.open();。接著,你可以將圖片添加到文檔中,例如:doc.add(image);。最後,記得關閉文檔以確保所有數據都被正確寫入輸出流,例如:doc.close();。
在實際操作中,你可能會遇到一些問題,比如圖片大小和格式不兼容的問題。為了解決這些問題,你可以在獲取圖片對象時使用一些額外的參數進行調整,例如:Image image = Image.getInstance(imgPath, null, 100, null);。這里,100代表的是縮放比例,你可以根據需要進行調整。
另外,如果你的圖片較多,或者需要頻繁生成PDF文檔,建議使用iText的流式處理方法,這可以提高生成PDF的效率。同時,為了確保生成的PDF文檔質量,你還可以通過設置文檔的邊距、字體等屬性來優化文檔的外觀。
總之,使用iText庫生成PDF文檔是一個相對簡單的過程,只要遵循正確的步驟和方法,你就能成功地將圖片轉換為PDF文件。