Java中word转换pdf(工具类)

一、使用jscob插件

1、引入jacob.jar

2、在JRE中添加jacob-1.19-x64.dll或者jacob-1.19-x86.dll

3、运行代码

import java.io.File;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;

public class test {

	public static void main(String[] args) {
		String word = "D:/sss.docx";
		String name = "zhukaixin".concat(".pdf");
		String pdf = "D:\\" + name;
		wToPdfChange(word, pdf);
	}

	public static void wToPdfChange(String wordFile, String pdfFile) {// wordFile word 的路径 //pdfFile pdf 的路径

		ActiveXComponent app = null;
		System.out.println("开始转换...");
		// 开始时间
		// long start = System.currentTimeMillis();
		try {
			// 打开word
			app = new ActiveXComponent("Word.Application");
			// 获得word中所有打开的文档
			Dispatch documents = app.getProperty("Documents").toDispatch();
			System.out.println("打开文件: " + wordFile);
			// 打开文档
			Dispatch document = Dispatch.call(documents, "Open", wordFile, false, true).toDispatch();
			// 如果文件存在的话,不会覆盖,会直接报错,所以我们需要判断文件是否存在
			File target = new File(pdfFile);
			if (target.exists()) {
				target.delete();
			}
			System.out.println("另存为: " + pdfFile);
			Dispatch.call(document, "SaveAs", pdfFile, 17);
			// 关闭文档
			Dispatch.call(document, "Close", false);
		} catch (Exception e) {
			System.out.println("转换失败" + e.getMessage());
		} finally {
			// 关闭office
			app.invoke("Quit", 0);
		}
	}

}

 

你可能感兴趣的:(javaUtils)