乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      java將Word/Excel/PDF文件轉(zhuǎn)換成HTML整理

       瀚海璨夜 2016-10-17

      項(xiàng)目開發(fā)過程中,需求涉及到了各種文檔轉(zhuǎn)換為HTML或者網(wǎng)頁易顯示格式,現(xiàn)在將實(shí)現(xiàn)方式整理如下:
      一、使用Jacob轉(zhuǎn)換Word,Excel為HTML

      “JACOB一個(gè)Java-COM中間件.通過這個(gè)組件你可以在Java應(yīng)用程序中調(diào)用COM組件和Win32 libraries。”

      首先下載Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未測(cè)試),與先前的Jacob1.7差別不大

      1、將壓縮包解壓后,Jacob.jar添加到Libraries中;

      2、將Jacob.dll放至“WINDOWS\SYSTEM32”下面。

      需要注意的是:
      【使用IDE啟動(dòng)Web服務(wù)器時(shí),系統(tǒng)讀取不到Jacob.dll,例如用MyEclipse啟動(dòng)Tomcat,就需要將dll文件copy到MyEclipse安裝目錄的“jre\bin”下面。
      一般系統(tǒng)沒有加載到Jacob.dll文件時(shí),報(bào)錯(cuò)信息為:“java.lang.UnsatisfiedLinkError: no jacob in java.library.path”】

      新建類:

       1public class JacobUtil   
       2{   
       3    public static final int WORD_HTML = 8;   
       4  
       5    public static final int WORD_TXT = 7;   
       6  
       7    public static final int EXCEL_HTML = 44;   
       8  
       9    /**  
      10     * WORD轉(zhuǎn)HTML  
      11     * @param docfile WORD文件全路徑  
      12     * @param htmlfile 轉(zhuǎn)換后HTML存放路徑  
      13     */  
      14    public static void wordToHtml(String docfile, String htmlfile)   
      15    {   
      16        ActiveXComponent app = new ActiveXComponent("Word.Application"); // 啟動(dòng)word   
      17        try  
      18        {   
      19            app.setProperty("Visible", new Variant(false));   
      20            Dispatch docs = app.getProperty("Documents").toDispatch();   
      21            Dispatch doc = Dispatch.invoke(   
      22                    docs,   
      23                    "Open",   
      24                    Dispatch.Method,   
      25                    new Object[] { docfile, new Variant(false),   
      26                            new Variant(true) }, new int[1]).toDispatch();   
      27            Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {   
      28                    htmlfile, new Variant(WORD_HTML) }, new int[1]);   
      29            Variant f = new Variant(false);   
      30            Dispatch.call(doc, "Close", f);   
      31        }   
      32        catch (Exception e)   
      33        {   
      34            e.printStackTrace();   
      35        }   
      36        finally  
      37        {   
      38            app.invoke("Quit", new Variant[] {});   
      39        }   
      40    }   
      41  
      42    /**  
      43     * EXCEL轉(zhuǎn)HTML  
      44     * @param xlsfile EXCEL文件全路徑  
      45     * @param htmlfile 轉(zhuǎn)換后HTML存放路徑  
      46     */  
      47    public static void excelToHtml(String xlsfile, String htmlfile)   
      48    {   
      49        ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 啟動(dòng)word   
      50        try  
      51        {   
      52            app.setProperty("Visible", new Variant(false));   
      53            Dispatch excels = app.getProperty("Workbooks").toDispatch();   
      54            Dispatch excel = Dispatch.invoke(   
      55                    excels,   
      56                    "Open",   
      57                    Dispatch.Method,   
      58                    new Object[] { xlsfile, new Variant(false),   
      59                            new Variant(true) }, new int[1]).toDispatch();   
      60            Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {   
      61                    htmlfile, new Variant(EXCEL_HTML) }, new int[1]);   
      62            Variant f = new Variant(false);   
      63            Dispatch.call(excel, "Close", f);   
      64        }   
      65        catch (Exception e)   
      66        {   
      67            e.printStackTrace();   
      68        }   
      69        finally  
      70        {   
      71            app.invoke("Quit", new Variant[] {});   
      72        }   
      73    }   
      74  
      75}  
      76

      當(dāng)時(shí)我在找轉(zhuǎn)換控件時(shí),發(fā)現(xiàn)網(wǎng)易也轉(zhuǎn)載了一偏關(guān)于Jacob使用幫助,但其中出現(xiàn)了比較嚴(yán)重的錯(cuò)誤:String htmlfile = "C:\\AA";

      只指定到了文件夾一級(jí),正確寫法是String htmlfile = "C:\\AA\\xxx.html";

       

      到此WORD/EXCEL轉(zhuǎn)換HTML就已經(jīng)差不多了,相信大家應(yīng)該很清楚了:)

       

      二、使用XPDF將PDF轉(zhuǎn)換為HTML

       

      1、下載xpdf最新版本,地址:http://www./xpdf/download.html

      我下載的是xpdf-3.02pl2-win32.zip

       

      2、下載中文支持包

      我下載的是xpdf-chinese-simplified.tar.gz

       

      3、下載pdftohtml支持包

      地址:http:///projects/pdftohtml/

      我下載的是:pdftohtml-0.39-win32.tar.gz

       

      4、解壓調(diào)試

      1) 先將xpdf-3.02pl2-win32.zip解壓,解壓后的內(nèi)容可根據(jù)需要進(jìn)行刪減,如果只需要轉(zhuǎn)換為txt格式,其他的exe文件可以刪除,只保留pdftotext.exe,以此類推;

      2) 然后將xpdf-chinese-simplified.tar.gz解壓到剛才xpdf-3.02pl2-win32.zip的解壓目錄;

      3) 將pdftohtml-0.39-win32.tar.gz解壓,pdftohtml.exe解壓到xpdf-3.02pl2-win32.zip的解壓目錄;

      4) 目錄結(jié)構(gòu):

       +---[X:\xpdf]

                 |-------各種轉(zhuǎn)換用到的exe文件

                 |

                 |-------xpdfrc

                 |

                 +------[X:\xpdf\xpdf-chinese-simplified]

                                            |

                                            |

                                            +-------很多轉(zhuǎn)換時(shí)需要用到的字符文件

       

      xpdfrc:此文件是用來聲明轉(zhuǎn)換字符集對(duì)應(yīng)路徑的文件

       

      5) 修改xpdfrc文件(文件原名為sample-xpdfrc)

      修改文件內(nèi)容為:

      Txt代碼 復(fù)制代碼 收藏代碼
      #----- begin Chinese Simplified support package   
      cidToUnicode    Adobe-GB1       xpdf-chinese-simplified\Adobe-GB1.cidToUnicode   
      unicodeMap      ISO-2022-CN     xpdf-chinese-simplified\ISO-2022-CN.unicodeMap   
      unicodeMap      EUC-CN          xpdf-chinese-simplified\EUC-CN.unicodeMap   
      unicodeMap  GBK    xpdf-chinese-simplified\GBK.unicodeMap   
      cMapDir         Adobe-GB1       xpdf-chinese-simplified\CMap   
      toUnicodeDir                    xpdf-chinese-simplified\CMap   
      fontDir  C:\WINDOWS\Fonts   
      displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf   
      #----- end Chinese Simplified support package  

      6) 創(chuàng)建bat文件pdftohtml.bat(放置的路徑不能包含空格)

      內(nèi)容為:

      Txt代碼 復(fù)制代碼 收藏代碼
      @echo off   
      set folderPath=%1  
      set filePath=%2  
      cd /d %folderPath%   
      pdftohtml -enc GBK %filePath%   
      exit 
      7) 創(chuàng)建類

      JAVA代碼
      public class ConvertPdf   
      {   
          private static String INPUT_PATH;   
          private static String PROJECT_PATH;   
             
          public static void convertToHtml(String file, String project)   
          {   
              INPUT_PATH = file;   
              PROJECT_PATH = project;   
              if(checkContentType()==0)   
              {   
                  toHtml();   
              }   
          }   
             
          private static int checkContentType()   
          {   
              String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1, INPUT_PATH.length())   
                      .toLowerCase();   
              if (type.equals("pdf"))   
                  return 0;   
              else  
                  return 9;   
          }   
             
          private static void toHtml()   
          {   
              if(new File(INPUT_PATH).isFile())   
              {   
                  try  
                  {   
                      String cmd = "cmd /c start X:\\pdftohtml.bat \"" + PROJECT_PATH + "\" \"" + INPUT_PATH + "\"";   
                      Runtime.getRuntime().exec(cmd);   
                  }   
                  catch (IOException e)   
                  {   
                      e.printStackTrace();   
                  }   
              }   
          }   
             
      }  

      String cmd = "....";此處代碼是調(diào)用創(chuàng)建的bat文件進(jìn)行轉(zhuǎn)換 

       

      8) 測(cè)試轉(zhuǎn)換
       JAVA代碼復(fù)制代碼 收藏代碼

      public static void main(String[] args)   
      {   
          ConvertPdf.convertToHtml("C:\\test.pdf", "X:\\xpdf");   
      }  

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多