您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java如何實現PDF轉HTML/Word/Excel/PPT/PNG的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java如何實現PDF轉HTML/Word/Excel/PPT/PNG文章都會有所收獲,下面我們一起來看看吧。
從 Maven 下載 Aspose.PDF
通過將以下配置添加到 pom.xml, 您可以直接從基于Maven的項目 輕松地使用Aspose.PDF for Java 。
<repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>https://repository.aspose.com/repo/</url> </repository> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-pdf</artifactId> <version>22.4</version> </dependency>
核心代碼實現(單類)
import com.aspose.pdf.Document; import com.aspose.pdf.SaveFormat; import com.aspose.pdf.devices.PngDevice; import com.aspose.pdf.devices.Resolution; import java.io.*; public class PDFHelper3 { public static void main(String[] args) throws IOException { pdf2image("C:\\Users\\liuya\\Desktop\\pdf\\示例文件.pdf"); } //轉word public static void pdf2word(String pdfPath) { long old = System.currentTimeMillis(); try { String wordPath=pdfPath.substring(0,pdfPath.lastIndexOf("."))+".docx"; FileOutputStream os = new FileOutputStream(wordPath); Document doc = new Document(pdfPath); doc.save(os, SaveFormat.DocX); os.close(); long now = System.currentTimeMillis(); System.out.println("Pdf 轉 Word 共耗時:" + ((now - old) / 1000.0) + "秒"); } catch (Exception e) { System.out.println("Pdf 轉 Word 失敗..."); e.printStackTrace(); } } //轉ppt public static void pdf2ppt(String pdfPath) { long old = System.currentTimeMillis(); try { String wordPath=pdfPath.substring(0,pdfPath.lastIndexOf("."))+".ppt"; FileOutputStream os = new FileOutputStream(wordPath); Document doc = new Document(pdfPath); doc.save(os, SaveFormat.Pptx); os.close(); long now = System.currentTimeMillis(); System.out.println("Pdf 轉 PPT 共耗時:" + ((now - old) / 1000.0) + "秒"); } catch (Exception e) { System.out.println("Pdf 轉 PPT 失敗..."); e.printStackTrace(); } } //轉excel public static void pdf2excel(String pdfPath) { long old = System.currentTimeMillis(); try { String wordPath=pdfPath.substring(0,pdfPath.lastIndexOf("."))+".xlsx"; FileOutputStream os = new FileOutputStream(wordPath); Document doc = new Document(pdfPath); doc.save(os, SaveFormat.Excel); os.close(); long now = System.currentTimeMillis(); System.out.println("Pdf 轉 EXCEL 共耗時:" + ((now - old) / 1000.0) + "秒"); } catch (Exception e) { System.out.println("Pdf 轉 EXCEL 失敗..."); e.printStackTrace(); } } //轉html public static void pdf2Html(String pdfPath) { long old = System.currentTimeMillis(); try { String htmlPath=pdfPath.substring(0,pdfPath.lastIndexOf("."))+".html"; Document doc = new Document(pdfPath); doc.save(htmlPath,SaveFormat.Html); long now = System.currentTimeMillis(); System.out.println("Pdf 轉 HTML 共耗時:" + ((now - old) / 1000.0) + "秒"); } catch (Exception e) { System.out.println("Pdf 轉 HTML 失敗..."); e.printStackTrace(); } } //轉圖片 public static void pdf2image(String pdfPath) { long old = System.currentTimeMillis(); try { Resolution resolution = new Resolution(300); String dataDir=pdfPath.substring(0,pdfPath.lastIndexOf(".")); File imageDir = new File(dataDir+"_images"); imageDir.mkdirs(); Document doc = new Document(pdfPath); PngDevice pngDevice = new PngDevice(resolution); for (int pageCount = 1; pageCount <= doc.getPages().size(); pageCount++) { OutputStream imageStream = new FileOutputStream(imageDir+"/"+pageCount+".png"); pngDevice.process(doc.getPages().get_Item(pageCount), imageStream); imageStream.close(); } long now = System.currentTimeMillis(); System.out.println("Pdf 轉 PNG 共耗時:" + ((now - old) / 1000.0) + "秒"); } catch (Exception e) { System.out.println("Pdf 轉 PNG 失敗..."); e.printStackTrace(); } } }
運行方法,idea里右鍵運行,如果要做成web系統可以將代碼封裝程web服務,調用方法就行。
轉換文件結果
以一個十四的pdf文件轉化為例,大部分轉換時間在10-12s,只有轉ppt花費的時間久一點需要20s.可能pdf里面不是表格類的內容,所以轉換excel文件后,樣式差別會有點大,其他文件轉換后樣式和之前是保持一樣的。
關于“Java如何實現PDF轉HTML/Word/Excel/PPT/PNG”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java如何實現PDF轉HTML/Word/Excel/PPT/PNG”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。