lhgyy00 发表于 2013-2-5 02:15:07

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]
查看完整版本: java用JCom打印