当前位置: 首页 > news >正文

Java中word转Pdf工具类

背景:

    最近做的一个项目中,对于word转Pdf用的地方很多,特此记录

搭建总图:

 代码部分:

 1.需要的jar包:

aspose-words-15.8.0-jdk16.jar

注:下载好这个jar包后,在项目的根目录新建一个lib文件夹,然后放入该jar包

pom.xml中引用

<dependency><groupId>com.aspose-words-15.8.0-jdk16</groupId><artifactId>aspose-words-15.8.0-jdk16</artifactId><version>1.0.0</version><scope>system</scope><systemPath>${project.basedir}/lib/aspose-words-15.8.0-jdk16.jar</systemPath>
</dependency>

  2.需要的xml文件

license.xml

内容:

<?xml version="1.0" encoding="UTF-8" ?>
<License><Data><Products><Product>Aspose.Total for Java</Product><Product>Aspose.Words for Java</Product></Products><EditionType>Enterprise</EditionType><SubscriptionExpiry>20991231</SubscriptionExpiry><LicenseExpiry>20991231</LicenseExpiry><SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber></Data><Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>

 注:将该xml文件放到resources下面

 3.工具类

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import java.io.*;
import java.io.File;
import java.io.IOException;public class WordConvertPdf {public static boolean getLicense() {boolean result = false;InputStream is = null;try {Resource resource = new ClassPathResource("license.xml");is = resource.getInputStream();License aposeLic = new License();aposeLic.setLicense(is);result = true;} catch (Exception e) {e.printStackTrace();}finally {if (is != null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}return result;}public static boolean doc2pdf(String inPath, String outPath) {if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生return false;}FileOutputStream os = null;try {long old = System.currentTimeMillis();File file = new File(outPath); // 新建一个空白pdf文档os = new FileOutputStream(file);Document doc = new Document(inPath); // Address是将要被转化的word文档doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,// EPUB, XPS, SWF 相互转换long now = System.currentTimeMillis();System.out.println("pdf转换成功,共耗时:" + ((now - old) / 1000.0) + "秒"); // 转化用时} catch (Exception e) {e.printStackTrace();return false;}finally {if (os != null) {try {os.flush();os.close();} catch (IOException e) {e.printStackTrace();}}}return true;}public static void main(String[] arg){String docPath = "E:\\syp.doc";String pdfPath = "E:\\ceshi.pdf";doc2pdf(docPath,pdfPath);}
}

测试结果:

 

http://www.lryc.cn/news/144224.html

相关文章:

  • 【conda install】网络慢导致报错CondaHTTPError: HTTP 000 CONNECTION FAILED for url
  • 2023-8-28 图中点的层次(树与图的广度优先遍历)
  • 设计模式(一)
  • Prometheus关于微服务的监控
  • CSS实现白天/夜晚模式切换
  • selenium实现输入数字字母验证码
  • Docker的运用
  • 在项目中快速搭建机器学习的流程
  • 计网-All
  • Rabbitmq的Federation Exchange
  • AIGC - 生成模型
  • 如何优雅地创建一个自定义的Spring Boot Starter
  • Hbase--技术文档--单机docker基础安装(非高可用)
  • React 生命周期新旧对比
  • 云计算存储类型
  • javacv基础03-调用本机摄像头并截图保存到本地磁盘
  • Python读取Windows注册表的实战代码
  • macOS 安装 Homebrew 详细过程
  • 数据结构之树型结构
  • 指针进阶详解
  • QGIS 如何添加天地图
  • PHP8内置函数中的数学函数-PHP8知识详解
  • 云计算企业私有云平台建设方案PPT
  • ORA-01174: DB_FILES be compatible RAC rolling fashion complete outage
  • 线性代数(五) 线性空间
  • kafka--技术文档--spring-boot集成基础简单使用
  • 【核磁共振成像】部分傅里叶重建
  • React中的flushSync与Vue中的nextTick的比较
  • golang设置国内镜像源
  • linux切换到root没有conda环境