作者:哇擦叻叻
来源:https://blog.csdn.net/Huang1178387848/article/details/82154796
使用Aspose组件可以实现word向DOC, DOCX, OOXML, RTF HTML,OpenDocument, PDF,EPUB, XPS, SWF 转换
由于基本方法都一样,在此我只展示word转pdf的功能
前期准备:
MyEclipse;
aspectjweaver-1.5.4.jar
aspose-words-16.6.0-jdk16.jar
aspose-words版本下对应的license.xml文件(网上好多不一样的文件,最后发现好像是对应版本的,此文件是破解Aspose,解决Aspose转其他文件产生的水印问题)
代码实现:
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.aspectj.weaver.ast.Test;
import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
/**
- @author XXX
*/
public class Word2PdfUtil {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
doc2pdf("D://ImageTest//0054.doc", "D://ImageTest//0054.pdf"); //测试成功
//doc2png("D://ImageTest//0054.doc", "D://ImageTest//0054.png"); //测试通过
// pdf2doc(“D://ImageTest//0054.pdf”, “D://ImageTest//0056.doc”);
}
public static boolean getLicense() {
boolean result = false;
try {
InputStream is = Test.class.getClassLoader().getResourceAsStream(“license.xml”);
// license.xml应放在…\WebRoot\WEB-INF\classes路径下
System.out.println(Test.class.getClassLoader().getResource("").getPath());
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void doc2pdf(String inPath, String outPath) {
if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
return;
}
try {
long old = System.currentTimeMillis();
File file = new File(outPath); // 新建一个空白pdf文档
FileOutputStream 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 相互转换
// Document doc = new Document(getMyDir() + “Document.doc”);
// doc.save(getMyDir() + “Document Out.html”);
long now = System.currentTimeMillis();
System.out.println(“共耗时:” + ((now - old) / 1000.0) + “秒”); // 转化用时
} catch (Exception e) {
e.printStackTrace();
}
}
注:如果要实现word转png,直接修改两处
doc.save(os, SaveFormat.PNG);
doc2pdf(“D://ImageTest//0054.doc”, “D://ImageTest//0054.pdf”); //测试成功
配置文件license.xml:
结果截图:
结论