成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

仿百度文庫解決方案之三:JCom調(diào)用轉(zhuǎn)換

開發(fā) 前端
使用Jcom主要用到ReleaseManager和IDispatch類。ReleaseManager類相當(dāng)于一個容器,管理機(jī)器上的COM組件。配合IDispatch類可以創(chuàng)建COM組件對象。例如創(chuàng)建Excel應(yīng)用程序的COM對象:

1. JCom簡介

JCom是日本的一個開源項(xiàng)目,其目的同前面介紹的Jacob一樣也是為了讓Java程序能夠訪問Windows平臺上的COM組件。利用JCom,可以在Java中控制幾乎所有的COM對象,而且它還帶有一些用于Excel操作的強(qiáng)大的輔助類。

使用Jcom主要用到ReleaseManager和IDispatch類。ReleaseManager類相當(dāng)于一個容器,管理機(jī)器上的COM組件。配合IDispatch類可以創(chuàng)建COM組件對象。例如創(chuàng)建Excel應(yīng)用程序的COM對象:

  1.   ReleaseManager rmExcel = new ReleaseManager( );  
  2.   IDispatch excelApp = new IDispatch(rmExcel,”Excel.Application”); 

另外,在程序結(jié)束的最后階段需要調(diào)用ReleaseManager類中的release( )方法對創(chuàng)建的ReleaseManager進(jìn)行資源釋放,以免內(nèi)存溢出。

IDispatch類和Jacob中的Dispatch類相似,代表著COM組件對象,提供了訪問微軟COM組件對象的屬性和方法的接口。IDispatch類中常用的方法如下:

get( )方法:獲取COM組件對象的屬性,返回一個java.lang.Object類型值。

put( )方法:設(shè)置COM組件對象的屬性,不返回值。

invoke( )方法:調(diào)用COM組件對象的方法,返回一個java.lang.Object類型值。不推薦使用,建議使用method方法。

method( )方法:和invoke( )方法功能一樣。

2. JCom調(diào)用MS Office COM組件轉(zhuǎn)換Office文檔為PDF

2.1 前提條件

JCom是日本人開發(fā)的一個開源項(xiàng)目,和Jacob類似,其也是用來調(diào)用COM自動化組件。自然JDK的運(yùn)行環(huán)境也是必不可少。JCom也可以利用Microsoft Office API轉(zhuǎn)換文檔,那么需要安裝Microsoft Office2007或者以上版本,同時Office2007仍需要安裝有Microsoft Save as PDF or XPS插件。JCom除了調(diào)用Microsoft Office API轉(zhuǎn)換文檔為PDF格式的方法之外,還可以利用Adobe Acrobat軟件的CreatePDF函數(shù)直接將Office格式的文檔轉(zhuǎn)換為PDF。因此,如果需要使用Adobe Acrobat轉(zhuǎn)換文檔,需要再安裝有Adobe Acrobat軟件。

2.2 安裝配置

下載JCom包,將其解壓縮后,提取其中的jcom.jar包配置到Java項(xiàng)目的類路徑中,同時也需要將其中的jcom.dll文件放置到windows系統(tǒng)System32目錄下,如果不想污染System32目錄中的dll文件,也可以將其放置到本機(jī)JDK安裝目錄下的bin文件夾中。

2.3 實(shí)現(xiàn)

類似Jacob轉(zhuǎn)換文檔為PDF,轉(zhuǎn)換Word為PDF格式的代碼如下

  1. JCom調(diào)用MS Office轉(zhuǎn)換word為PDF源代碼   
  2.  
  3. public static void word2PDF(String inputFile,String pdfFile){  
  4.         ReleaseManager rm = null;  
  5.         IDispatch app = null;  
  6.         try {  
  7.                 rm = new ReleaseManager();  
  8.                 app = new IDispatch(rm, "Word.Application");//啟動word  
  9.                 app.put("Visible"false);    //設(shè)置word不可見  
  10.                 IDispatch docs = (IDispatch) app.get("Documents");    //獲得word中所有打開的文檔  
  11.                 IDispatch doc = (IDispatch) docs.method("Open"new Object[]{inputFile,false,true});//打開文檔  
  12.                 doc.method("SaveAs"new Object[]{pdfFile,17});//轉(zhuǎn)換文檔為pdf格式  
  13.                 doc.method("Close"new Object[]{false});  
  14.                 app.method("Quit"null);  
  15.         } catch (Exception e) {  
  16.                  e.printStackTrace();  
  17.         } finally {  
  18.                 try {  
  19.                         app=null;  
  20.                         rm.release();  
  21.                         rm = null;  
  22.                 } catch (Exception e) {  
  23.                      e.printStackTrace();  
  24.                 }  
  25.         }  
  26.     } 

3. JCom調(diào)用Acrobat轉(zhuǎn)換Office文檔為PDF格式

除了調(diào)用MS Office轉(zhuǎn)換文檔為PDF的方法之外,還可以調(diào)用Adobe Acrobat API轉(zhuǎn)換Office文檔為PDF格式,下面是JCom的實(shí)現(xiàn)方法,當(dāng)然也可以用Jacob實(shí)現(xiàn),這里就不做研究了。

  1. public void convert2PDF(String inputFile, String pdfFile)  {  
  2.            
  3.    
  4.          ReleaseManager rm = new ReleaseManager();  
  5.          IDispatch app;  
  6.          try {  
  7.              app = new IDispatch(rm, "PDFMakerAPI.PDFMakerApp");  
  8.              app.method("CreatePDF",new Object[]{inputFile,pdfFile});  
  9.              System.out.println("conversion completed!");  
  10.          } catch (JComException e) {  
  11.              e.printStackTrace();  
  12.          }finally{  
  13.               app=null;  
  14.               rm.release();  
  15.               rm = null;  
  16.          }     
  17.          
  18.      } 

源代碼下載地址:DocConverter

原文鏈接:http://www.cnblogs.com/luckyxiaoxuan/archive/2012/06/13/2548510.html

 

責(zé)任編輯:張偉 來源: 肖恩也有夢想的博客
相關(guān)推薦

2012-06-18 16:37:41

Web

2012-06-19 13:32:23

Web

2012-06-18 16:29:48

Web

2012-06-19 13:45:57

Web

2012-06-19 13:42:08

Web

2012-07-16 14:43:32

silverlight

2012-11-27 09:51:54

百度三星云解決方案

2015-10-28 13:40:28

高仿百度糯米源碼

2011-06-02 17:28:24

網(wǎng)站收錄

2012-10-19 09:47:30

百度云百度音樂云計(jì)算

2011-06-29 08:31:56

收錄

2011-05-24 10:40:12

SEO

2015-12-02 17:22:03

百度地圖

2011-10-21 09:28:25

百度地圖API

2020-09-15 19:29:40

搜索
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91在线看| 九九热免费视频在线观看 | 国产小视频在线观看 | 中文字幕一区二区三区在线视频 | 精品国产乱码久久久久久丨区2区 | 久久综合狠狠综合久久 | 成人一区二区三区在线观看 | 日日艹夜夜艹 | 国产成人一区二区三区电影 | 精品久久香蕉国产线看观看亚洲 | 国产不卡视频在线 | 午夜在线免费观看 | 国产精品久久久久永久免费观看 | 国产精品久久久久久久久久久久久久 | 国产乱码精品一区二区三区五月婷 | 亚洲精品国产电影 | 国产精品一区二区欧美黑人喷潮水 | 中文字幕在线一区二区三区 | 日韩中文字幕一区 | 91色综合| 99草免费视频 | 91精品国产91久久综合桃花 | 亚洲精品一区中文字幕乱码 | 成人在线视频免费观看 | 国产精品成人一区二区三区夜夜夜 | 久久久人成影片一区二区三区 | 久久一二 | 国产精品久久久久久久久久久久午夜片 | 亚洲国产精品久久 | 日本一区高清 | 日韩精品在线网站 | 久久99精品国产99久久6男男 | 国产高清免费视频 | 亚洲日本一区二区三区四区 | 日本久久精品 | 亚洲国产精品日韩av不卡在线 | 久草在线在线精品观看 | 四虎影院在线免费观看 | 国产中文字幕网 | 成人一级黄色毛片 | 成年人免费在线视频 |