这篇文章主要介绍了Java如何实现pdf转html/Word/excel/PPT/PNG的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java如何实现PDF转HTML/Word/Excel/PPT/PNG文章都
这篇文章主要介绍了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”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。
--结束END--
本文标题: Java如何实现PDF转HTML/Word/Excel/PPT/PNG
本文链接: https://lsjlt.com/news/330564.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0