- public class JacobPDFConverter implements PDFConverter {
- private ActiveXComponent app;
- private Dispatch docs;
- private boolean isInit = false;
- public void wordToPDF(String wordFilePath, String pdfFilePath) {
- if (!isInit) {
- this.init();
- }
- Dispatch doc = Dispatch.call(docs, "Open", wordFilePath, false, true)
- .toDispatch();
- Dispatch.call(doc, "ExportAsFixedFormat", pdfFilePath, 17); // word保存为pdf格式宏,值为17
- // 关闭文档
- Dispatch.call(doc, "Close", false);
- }
- public void init() {
- app = new ActiveXComponent("Word.Application");
- app.setProperty("Visible", false);
- docs = app.getProperty("Documents").toDispatch();
- isInit = true;
- }
- public void destroy() {
- if (isInit) app.invoke("Quit", 0);// 关闭word应用程序
- }
- public static void main(String[] args) throws InterruptedException {
- final JacobPDFConverter jacobPDFConverter = new JacobPDFConverter() ;
- long start = System.currentTimeMillis();
- for(int i =0 ; i < 2 ; i++){
- System.out.println(i);
- jacobPDFConverter.wordToPDF("D:\\\\wordpdf\\\\test.docx", "D:\\\\wordpdf\\\\test"+i+".pdf") ;
- }
- System.out.println((System.currentTimeMillis() - start));
- jacobPDFConverter.destroy() ;
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/0408201410097.html
来源: http://www.codesnippet.cn/detail/0408201410097.html