java用JCom打印
用JCOM实现打印如打印word和Excel等的import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;import jp.ne.so_net.ga2.no_ji.jcom.JComException;import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelApplication;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbook;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbooks;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheet;/** * @author admin */public class TestPrint{/** * @param args * 打印word */public static void main(String[] args) {TestPrint tp = new TestPrint();String path="c:\\1111.doc"; tp.print("Word.Application", "Documents", path);} /*** * @param docApplication Application类型 * @param docProperty文档的属性 * @param filePath 文件的绝对路径 */ public void print(String docApplication,String docProperty,String filePath){ ReleaseManager rm = new ReleaseManager(); try { IDispatch docApp = new IDispatch(rm, docApplication); docApp.put("Visible", new Boolean(false)); IDispatch wdDocuments = (IDispatch) docApp.get(docProperty); Object[] arglist1 = new Object; arglist1 = (Object)filePath; IDispatch docDocument = (IDispatch) wdDocuments.method("Open", arglist1); docDocument.method("PrintOut", null); docApp.method("Quit", null); }catch(JComException e){ e.printStackTrace(); } rm.release(); rm = null; } /*** @param fname文件的路径名称* @return*/ public boolean printExcel(String fname) {ReleaseManager rm = new ReleaseManager();try {ExcelApplication excel = new ExcelApplication(rm);ExcelWorkbooks xlBooks = excel.Workbooks();ExcelWorkbook xlBook = xlBooks.Open(fname);ExcelWorksheet xlSheet = excel.ActiveSheet();xlSheet.PrintOut();xlBook.Close(false, null, false);excel.Quit();} catch (Exception e) {e.printStackTrace();return false;} finally {rm.release();}return true;}}
页:
[1]