JAVA 工具类 word转pdf 去水印
WordUtil.javapackage com.thinkgem.jeesite.modules.meeting.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import com.aspose.words.Do
·
WordUtil.java
package com.thinkgem.jeesite.modules.meeting.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
public class WordUtil {
private static InputStream license;
public static File wordToPdf(File word, String uploadPath, String format) {
File pdf;// 转文件pdf
InputStream wordInputStream = null;// 源文件word输入流
FileOutputStream pdfOutputStream;// 转文件pdf输出流
try {
File pdfPath = new File(uploadPath);
if (!pdfPath.exists())
pdfPath.mkdirs();
if (!getLicense()) {// 验证License
return null; // "验证License失败!";
}
wordInputStream = new FileInputStream(word);
Document document = new Document(wordInputStream);
pdf = new File(pdfPath + File.separator + word.getName().replace("." + format, "." + FileType.pdf.name()));
pdfOutputStream = new FileOutputStream(pdf);
document.save(pdfOutputStream, SaveFormat.PDF);
pdfOutputStream.close();
wordInputStream.close();
return pdf;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
*
* @title getLicense
* @Description 获取license
* @return
*/
public static boolean getLicense() {
boolean result = false;
try {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
license = new FileInputStream(loader.getResource("license.xml").getPath());// 凭证文件
License aposeLic = new License();
aposeLic.setLicense(license);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
String path = "D:/uploadFile/2.docx";
File excel = new File(path);
wordToPdf(excel, excel.getParentFile().getPath(), "docx");
System.out.println("转换结束!");
}
}
license.xml
<License>
<Data>
<Products>
<Product>Aspose.Total for Java</Product>
<Product>Aspose.Words for Java</Product>
</Products>
<EditionType>Enterprise</EditionType>
<SubscriptionExpiry>29991231</SubscriptionExpiry>
<LicenseExpiry>29991231</LicenseExpiry>
<SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
</Data>
<Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>
pom.xml
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>${aspose.version}</version>
</dependency>
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)