网站首页 > java教程 正文
今天有个做人事的朋友在整理合同,大概有200多个word文档,希望转换为pdf格式。免费的方式只能一个一个转,批量的收费,咋办。
体现java强大的时刻到了。我就顺手写了个批量将word转为pdf的java代码。
一 jar包下载
使用的是aspose-words-15.12.0-jdk16.jar 这个jar,
下载链接: https://pan.baidu.com/s/1X_gO1cwLUzoHGtX8UmF6XA 提取码: a3f2
二 pom.xml文件配置
将下载的jar包复制到 resources/lib目录下。
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>15.12.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/aspose-words-15.12.0-jdk16.jar</systemPath>
</dependency>
三 配置license.xml
如果不配置的话,会有水印。
在 resources目录下新建 license.xml
<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>
四 java代码
public class WordToPdfTest {
public static void main(String[] args) throws Exception {
//org.springframework.core.io.ClassPathResource
//加载licence.xml
InputStream inputStream = new ClassPathResource("/license.xml").getInputStream();
License licenseObj = new License();
licenseObj.setLicense(inputStream);
//word文件存放的目录
File sourcedir = new File("D:\\tmp\\dev_source");
File[] sourceFiles = sourcedir.listFiles();
//循环遍历word文件
for (File file : sourceFiles) {
//获取带后缀的文件名 123.docx
String sourceName = file.getName();
//去掉文件名后缀
String targetName = sourceName.split("\\.")[0];
FileOutputStream os = null;
try {
//以原文件名 创建一个 pdf
File targetFile = new File("D:\\tmp\\dev_target\\" + targetName + ".pdf");
//构建pdf文件输出流
os = new FileOutputStream(targetFile);
//已file的文件绝对路径为参数,获取Document对象
Document doc = new Document(file.getAbsolutePath());
//将文档内容 以pdf格式 输出到上面的输出流。
doc.save(os, SaveFormat.PDF);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (os != null) {
os.close();
}
}
}
}
}
源文件 目录
执行完上述代码后
试验成功。欢迎大家尝试。
- 上一篇: 优雅的替换第三方jar包中的类!#编程
- 下一篇: jar不能双击运行(命令行可以执行)的解决方案
猜你喜欢
- 2024-12-28 maven 处理多版本 jar包依赖冲突 maven管理jar包冲突
- 2024-12-28 IDEA+Maven启动SpringBoot项目出现程序包XXX包不存在的解决方案
- 2024-12-28 如何避免多个jar通过maven打包成jar,同名配置文件发生覆盖问题
- 2024-12-28 AndroidStudio_使用Gradle来管理依赖jar包_刷新依赖
- 2024-12-28 如何将本地jar包打包到本地仓库 jar包本地怎么运行
- 2024-12-28 IntelliJ Idea下jar包引入失败的处理方法
- 2024-12-28 使用 XJar 对程序 jar 包加密,防止被破解
- 2024-12-28 Jarboot-一个功能强大易用的Java进程启动器
- 2024-12-28 正确发布jar到maven central和避坑指南
- 2024-12-28 Eclipse导出Jar包(包含外部包) eclipse导出apk包方法
你 发表评论:
欢迎- 04-26Java高效处理大文件读写的全方位指南
- 04-26省钱兄JAVA视频交系统开发
- 04-26Java常用工具类技术文档
- 04-26高效使用Java构建工具,Maven篇|云效工程师指北
- 04-26Java中自定义配置文件可以如此简单
- 04-26Java 技术文档(详细版)
- 04-26DuckDuckGo应用和扩展全面禁止谷歌的单点登录弹窗
- 04-26单点登录的终级解决方案-xxlSso
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)