Rumah> Java> javaTutorial> teks badan

Java如何实现PDF转HTML/Word/Excel/PPT/PNG

WBOY
Lepaskan: 2023-04-18 18:10:03
ke hadapan
1520 orang telah melayarinya

从 Maven 下载 Aspose.PDF

通过将以下配置添加到 pom.xml, 您可以直接从基于Maven的项目 轻松地使用Aspose.PDF for Java 。

 AsposeJavaAPI Aspose Java API https://repository.aspose.com/repo/   com.aspose aspose-pdf 22.4 
Salin selepas log masuk

核心代码实现(单类)

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(); } } }
Salin selepas log masuk

运行方法,idea里右键运行,如果要做成web系统可以将代码封装程web服务,调用方法就行。

Java如何实现PDF转HTML/Word/Excel/PPT/PNG

转换文件结果

以一个十四的pdf文件转化为例,大部分转换时间在10-12s,只有转ppt花费的时间久一点需要20s.可能pdf里面不是表格类的内容,所以转换excel文件后,样式差别会有点大,其他文件转换后样式和之前是保持一样的。

Java如何实现PDF转HTML/Word/Excel/PPT/PNG

Atas ialah kandungan terperinci Java如何实现PDF转HTML/Word/Excel/PPT/PNG. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!