建置轉換伺服器

JoinNet 電腦版可以使用 JoinNet Printer 將文件上傳到白板上,但是在 JoinNet Android 版以及 JoinNet 瀏覽器版並沒有 JoinNet Printer 可以使用。
這是因為 JoinNet Printer 是一個虛擬印表機,在 Android 以及瀏覽器的環境下無法安裝印表機的關係。

所以 HomeMeeting 考量到這種情況,設計了轉換伺服器 Conversion Server。
轉換伺服器必須要另外手動安裝,可以和原本的 WebOffice 伺服器或 MMC 伺服器安裝在同一臺機器上也可以安裝在不同機器上。
不過,檔案轉換是需要 CPU 非常密集運算的處理程序,如果轉換伺服器與 WebOffice 伺服器或 MMC 伺服器運行在同一臺機器上,檔案轉換時可能會顯著地影響進行中會議的品質。
因此,強烈建議將轉換伺服器安裝在獨立的機器。

轉換伺服器會使用 OpenOffice 將文件轉換成 PDF 檔,接著使用 ImageMagick 將 PDF 檔轉換成 JPG 檔,再自動上傳到白板上,如下圖所示:

一般而言,轉換可能需要幾秒鐘、幾分鐘甚至更長的時間,這取決於檔案的總頁數與 DPI (dot per inch) 設定,還有機器的效能。

下列為您介紹建置轉換伺服器步驟。(MCU 必須是 3.24 以上的版本)
在 Windows 平臺:

  1. 從網站 http://www.openoffice.org/ 下載並安裝 OpenOffice,請注意,要支援非英文文字,必須安裝相對應語系的語言包套件。
  2. 從網站 http://www.oracle.com/technetwork/java/javase/downloads/ 下載並安裝 Java 執行環境。
  3. 從網站 https://pdfbox.apache.org/download.cgi 下載並儲存 pre-built PDFBox standalone binary。
  4. 編輯 MCU 伺服器組態檔 configm.ini 的參數
    python_path=C:/Program Files (x86)/OpenOffice.org 3/program/python.exe
    pdfbox_path=C:/pdfbox-app-2.0.4.jar

    根據您安裝的目錄來置換 python.exe 與 pdfbox-app-x.y.z.jar 的正確路徑。

  5. 手動測試 unoconv 元件 (非必要步驟)
    找一個要轉換的文件,例如 test.doc,接著在命令提示字元下輸入:
    “~python_path/python.exe” “~mcu_path/unoconv” -f pdf “~path/test.doc”
    將會產生一個 test.pdf 檔。
  6. 手動測試 convert 元件 (非必要步驟)
    在 test.pdf 檔產生後,在命令提示字元下輸入:
    java -jar “C:/pdfbox-app-2.0.4.jar” PDFToImage -format png -color rgba -startPage 1 -endPage 1 “~path/test.pdf”
    將會產生一個 png 檔。
  7. 編輯 configm.ini 的參數
    max_conversion_thread=
    您在配置轉換執行緒的最大值時請務必考量到主機的效能。
  8. 編輯 configm.ini 的參數
    conversion_allow=
    允許 MCU 使用這個轉換伺服器,將轉換伺服器的 IP 位址填入。
  9. 編輯 configm.ini 的參數設定檔案類型控制
    convert_type_whitelist=
    convert_type_blacklist=
    如果某個檔案類型會造成 OpenOffice 停止回應,請將該檔案類型加入黑名單或將該檔案類型從白名單中移除來避免問題。

在 Linux 平臺:

  1. 大部份 Linux 平臺應該已經安裝 Libre/OpenOffice。
    如果沒有,請手動安裝完整的 Libre/OpenOffice 套件,
    包括 core、spreadsheet、presentation、word processor、languages packages、pyuno 等。
    請注意,安裝 OpenOffice 可能需要圖形介面。
    請注意,要支援非英文文字,必須安裝相對應語系的語言包套件。
  2. 從網站 http://www.oracle.com/technetwork/java/javase/downloads/ 下載並安裝 Java 執行環境。
  3. 從網站 https://pdfbox.apache.org/download.cgi 下載並儲存 pre-built PDFBox standalone binary。
  4. 編輯 configm.ini 的參數
    pdfbox_path=~mcu_path/pdfbox-app-2.0.4.jar
    根據您安裝的目錄來置換 pdfbox-app-x.y.z.jar 的正確路徑。
  5. 手動測試 unoconv 元件 (非必要步驟)
    找一個要轉換的文件,例如 test.doc,接著在終端機下輸入:
    soffice –headless –convert-to pdf -outdir “~path” “~path/test.doc”

    您可能需要先在圖形介面執行 OpenOffice:
    soffice -listenter &

    ~mcu_path/unoconv -f pdf “~path/test.doc”
    將會產生一個 test.pdf 檔。
    如果無法執行,請嘗試顯示更多細節的語法:
    ~mcu_path/unoconv -f pdf -vvv “~path/test.doc”
    請注意,檢查系統是否已有 LibreOffice 程序正在執行,如果有的話可能會干擾正常運作。
    # pgrep -l ‘office|writer|calc’
    請注意,更多說明可以參考 https://github.com/dagwieers/unoconv 網站。

  6. 手動測試 convert 元件 (非必要步驟)
    在 test.pdf 檔產生後,在終端機下輸入:
    java -jar “~mcu_path/pdfbox-app-2.0.4.jar” PDFToImage -format png -color rgba -startPage 1 -endPage 1 “~path/test.pdf”
    將會產生一個 png 檔。
  7. 編輯 configm.ini 的參數
    max_conversion_thread=
    您在配置轉換執行緒的最大值時請務必考量到主機的效能。
  8. 編輯 configm.ini 的參數
    conversion_allow=
    允許 MCU 使用這個轉換伺服器,將轉換伺服器的 IP 位址填入。
  9. 編輯 configm.ini 的參數設定檔案類型控制
    convert_type_whitelist=
    convert_type_blacklist=
    如果某個檔案類型會造成 OpenOffice 停止回應,請將該檔案類型加入黑名單或將該檔案類型從白名單中移除來避免問題。

這樣就建置好轉換伺服器了,如有任何問題歡迎與我們聯繫,謝謝!

文章分類 技術指南

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*

留言驗證: