1.添加依赖:
<!--aspose-words-->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words-jdk16</artifactId>
<version>15.8.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/lib/aspose-words-15.8.0-jdk16.jar</systemPath>
</dependency>
2.项目引用相关jar包:
3.添加许可证,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>
4.使用
package com.lxj.test.word;
import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import lombok.SneakyThrows;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
/**
* word 转pdf
*/
public class AsposeUtil {
/**
* pdf 后缀
*/
private static final String PDF_SUFFIX = ".pdf";
/**
* 加载license 用于破解 不生成水印
*/
@SneakyThrows
private static void getLicense() {
InputStream is = AsposeUtil.class.getClassLoader().getResourceAsStream("License.xml");
License license = new License();
license.setLicense(is);
}
/**
* word转pdf
*
* @param wordPath word文件保存的路径
* @param pdfPath 转换后pdf文件保存的路径
*/
@SneakyThrows
public static void wordToPdf(String wordPath, String pdfPath) {
if (!new File(wordPath).exists()) {
return;
}
// 去掉水印
getLicense();
File file = new File(pdfPath);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdir();
}
FileOutputStream os = new FileOutputStream(file);
Document doc = new Document(wordPath);
doc.save(os, SaveFormat.PDF);
}
/**
* word 转 pdf
* @param wordPath 文件路径
*/
@SneakyThrows
public static void wordToPdf(String wordPath) {
getLicense();
File file = new File(wordPath);
if (!file.exists()) {
return;
}
// 生成 pdf 文件路径
String pdf = file.getPath().substring(0, file.getPath().lastIndexOf(".")) + PDF_SUFFIX;
FileOutputStream os = new FileOutputStream(pdf);
Document doc = new Document(wordPath);
doc.save(os, SaveFormat.PDF);
}
}