package cn.edu.sdu.test; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; public class Word2PDF { static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。 static final int wdFormatPDF = 17;// PDF 格式 public static void main(String[] args) { String filename = "D:/測(cè)試文件.doc"; String toFilename = filename + ".pdf"; System.out.println("啟動(dòng)Word..."); long start = System.currentTimeMillis(); ActiveXComponent app = null; try { app = new ActiveXComponent("Word.Application"); app.setProperty("Visible", false); Dispatch docs = app.getProperty("Documents").toDispatch(); System.out.println("打開文檔..." + filename); Dispatch doc = Dispatch.call(docs,// "Open", // filename,// FileName false,// ConfirmConversions true // ReadOnly ).toDispatch(); System.out.println("轉(zhuǎn)換文檔到PDF..." + toFilename); File tofile = new File(toFilename); if (tofile.exists()) { tofile.delete(); } Dispatch.call(doc,// "SaveAs", // toFilename, // FileName wdFormatPDF); Dispatch.call(doc, "Close", false); long end = System.currentTimeMillis(); System.out.println("轉(zhuǎn)換完成..用時(shí):" + (end - start) + "ms."); } catch (Exception e) { e.printStackTrace(); System.out.println("========Error:文檔轉(zhuǎn)換失敗:" + e.getMessage()); } finally { if (app != null) app.invoke("Quit", wdDoNotSaveChanges); } } } 報(bào)的錯(cuò)誤是: 啟動(dòng)Word... 打開文檔...D:/測(cè)試文件.doc 轉(zhuǎn)換文檔到PDF...D:/測(cè)試文件.doc.pdf com.jacob.com.ComFailException: Invoke of: SaveAs Source: Microsoft Word Description: 數(shù)值超出范圍 ========Error:文檔轉(zhuǎn)換失?。篒nvoke of: SaveAs Source: Microsoft Word Description: 數(shù)值超出范圍 at com.jacob.com.Dispatch.invokev(Native Method) at com.jacob.com.Dispatch.invokev(Dispatch.java:858) at com.jacob.com.Dispatch.callN(Dispatch.java:455) at com.jacob.com.Dispatch.call(Dispatch.java:557) at cn.edu.sdu.test.Word2PDF.main(Word2PDF.java:37) 怎么解決?
報(bào)的錯(cuò)誤是:D:/測(cè)試文件.doc 轉(zhuǎn)換文檔到PDF...D:/測(cè)試文件.doc.pdf
qq_花開花謝_0
2023-04-20 18:13:12