java 文檔在線預覽 Linux版本(openoffice)

1.下載openoffice

openoffice的下載地址:http://www.openoffice.org/

2.安裝(記住自己的安裝路徑,待會要用到)
在這裏插入圖片描述
3. pom.xml

<dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>19.0</version>
</dependency>


<dependency>
      <groupId>com.github.livesense</groupId>
      <artifactId>jodconverter-core</artifactId>
      <version>1.0.5</version>
</dependency>

4.業務層
OFFICE_HOME 用自己的安裝路徑(第二個步驟的時候)

private static OfficeManager officeManager;
    private static String OFFICE_HOME = "D:/software/OpenOffice 4/";
    private static int port[] = { 8100 };
    
    public void convert2PDF(String inputFile, String outputFile) throws FileNotFoundException {
       
        startService();
        System.out.println("進行文檔轉換轉換:" + inputFile + " --> " + outputFile);
        
        OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
        converter.convert(new File(inputFile), new File(outputFile));
        
        stopService();
        System.out.println();

    }

    // 打開服務器
    public static void startService() {
        DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration();
        try {
            System.out.println("準備啓動服務....");
            configuration.setOfficeHome(OFFICE_HOME);// 設置OpenOffice.org安裝目錄
            configuration.setPortNumbers(port); // 設置轉換端口,默認爲8100
            configuration.setTaskExecutionTimeout(1000 * 60 * 5L);// 設置任務執行超時爲5分鐘
            configuration.setTaskQueueTimeout(1000 * 60 * 60 * 24L);// 設置任務隊列超時爲24小時

            officeManager = configuration.buildOfficeManager();
            officeManager.start(); // 啓動服務
            System.out.println("office轉換服務啓動成功!");
        } catch (Exception ce) {
            System.out.println("office轉換服務啓動失敗!詳細信息:" + ce);
        }
    }

    // 關閉服務器
    public static void stopService() {
        System.out.println("關閉office轉換服務....");
        if (officeManager != null) {
            officeManager.stop();
        }
        System.out.println("關閉office轉換成功!");
    }

    public static void main(String[] args) throws Exception {
        String path = "C:/Users/johnny/Desktop/文檔/20170420/test/001/";
        OpenOfficePdfConvert opc = new OpenOfficePdfConvert();
        opc.convert2PDF(path+"1.docx", path+"1.pdf");
    }

參考文獻:https://www.cnblogs.com/xxyfhjl/p/6775137.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章