Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片

您所在的位置:网站首页 excel格式转换成word Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片

Java利用POI生成Word、Excel文档转换成PDF,PDF转换成图片

2023-08-31 17:28| 来源: 网络整理| 查看: 265

声明 此文章为转载的 仅作保存

摘要 注意 此工具包的word转pdf存在问题 有水印 并且只能显示4页 因此可以参考我的另一篇文章 完美的word转pdf

点击此链接查看

本篇文章带大家使用Java来实现生成Word、Excel文档,然后将Word或Excel文档转换成PDF,最后再将PDF转换成图片,这里是根据我业务需求进行开发(我这边是对接第三方公司将检测数据同步的时候入库并且生成检测报告,首先是将检测报告的数据生成Word模板,然后将Word转换成PDF最后转换成图片显示在页面查看),有需要的伙伴可以参考借鉴一下。

准备

引入相关的jar包(POI相关jar包大家网上下载)

word转pdf需要引入 我的链接:https://pan.baidu.com/s/1DD9spf71TsLSA5Ge15rqsg

复制这段内容后打开百度网盘手机App,操作更方便哦 aspose-words-15.8.0-jdk16.jar。 原文链接 点击下载 (提取码:0vth)

Excel转PDF需要引入aspose-cells-8.5.2.jar。 我的链接:https://pan.baidu.com/s/1N-S-mXckcPH1fhrQDQdRjQ

复制这段内容后打开百度网盘手机App,操作更方便哦 原文链接 点击下载 (提取码:pnqw)

除此之外的依赖

org.apache.pdfbox pdfbox 2.0.22

引入license.xml文件(备注:license文件只能破解Word版本) 这里暂且放在resources文件夹下 这里暂且放在resources文件夹下

//这里的原始代码我没有删除 bean标签删除了 未知有没有影响 Aspose.Total for Java Aspose.Words for Java Enterprise 20991231 20991231 8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7 sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU= 步骤

创建工具类:注意里面的Document的包 需要导入我们放进来的word的jar包

package com.example.house.SYSDBA.util; import com.aspose.cells.License; import com.aspose.cells.PdfSaveOptions; import com.aspose.cells.Workbook; import com.aspose.words.Document; import org.apache.log4j.Logger; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.*; /** * 检测报告工具类 * @Description: TODO * @Author: xiaochuan * @Date 2021/02/02 16:11 */ public class DetectionReportUtils { private static Logger logger = Logger.getLogger(DetectionReportUtils.class); /** * 获取license.xml(去除水印) **/ private static boolean getLicense() { boolean result = false; try { InputStream is = DetectionReportUtils.class.getClassLoader().getResourceAsStream("license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下 License aposeLic = new License(); aposeLic.setLicense(is); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * Word文件转PDF * @param wordPath 需要被转换的word全路径带文件名 * @param pdfPath 转换之后pdf的全路径带文件名 */ public static void doc2pdf(String wordPath, String pdfPath) { if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生 return; } try { long old = System.currentTimeMillis(); File file = new File(pdfPath); //新建一个pdf文档 FileOutputStream os = new FileOutputStream(file); Document doc = new Document(wordPath); //Address是将要被转化的word文档 doc.save(os, com.aspose.words.SaveFormat.PDF);//全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换 long now = System.currentTimeMillis(); os.close(); System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒"); //转化用时 } catch (Exception e) { e.printStackTrace(); } } /** * Excel文件转PDF * @param excelPath 需要被转换的excel全路径带文件名 * @param pdfPath 转换之后pdf的全路径带文件名 */ public static void excel2pdf(String excelPath, String pdfPath) { if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生 return; } try { Workbook wb = new Workbook(excelPath);// 原始excel路径 PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(); pdfSaveOptions.setOnePagePerSheet(true);//把内容放在一张PDF 页面上 FileOutputStream fileOS = new FileOutputStream(new File(pdfPath)); wb.save(fileOS, pdfSaveOptions); fileOS.close(); } catch (Exception e) { e.printStackTrace(); logger.error("Excel文件转PDF出错"); } } /** * 转换PDF为图片 **/ public static void pdf2png(String filepath,String filename) throws IOException { try { // 将pdf装图片 并且自定义图片得格式大小 File file = new File(filepath,filename+".pdf"); PDDocument doc = PDDocument.load(file); PDFRenderer renderer = new PDFRenderer(doc); //BufferedImage image = renderer.renderImageWithDPI(0, 72); // Windows native DPI BufferedImage image = renderer.renderImage(0, 1); ImageIO.write(image, "png", new File(filepath,filename+".png")); doc.close(); } catch (Exception e) { e.printStackTrace(); logger.error("转换PDF为图片pdf2png出错:"+filename); } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3