快轉到主要內容

Stirling PDF,自架開源的線上PDF處理工具,支援OCR中文辨識

· 民國113年甲辰年
· ·
分類   Linux系統 Self-hosting自架
標籤   Optical Character Recognition Tesseract
目錄

網路上有一堆線上PDF轉檔工具,只要上傳檔案就會吐出處理好的檔案讓你下載,可是有隱私資安的疑慮。那麼你有沒有想過自己架設一個PDF處理服務呢?

以Ivon的使用例來說,有時臨時想在iPad轉檔PDF文件,雖然市面上有很多APP能辦到,但是我想要使用自由開源的方案,那麼就只剩網頁處理的路子了。為追求開源軟體,以及確保隱私不讓PDF文件被其他網站濫用,我就找到了「Stirling PDF」,這款簡單易用的網頁PDF轉檔工具。

把Stirling PDF架在個人Linux伺服器或者NAS,就能夠透過瀏覽器遠端處理PDF文件了。

根據Stirling PDF的開發者在Product Hunt的頁面,他們說想解決依賴線上PDF處理服務的問題,不想使用可疑網站提供的轉檔服務,所以開發了這個大滿貫軟體,一次滿足所有需求。

Striling PDF功能為何?合併PDF、分割PDF、調整PDF對比度、PDF新增浮水印、批次PDF重新命名、OCR抽取PDF文字、PDF轉圖片、PDF轉Word、圖片轉PDF的功能樣樣有。還可以自訂pipeline,使用固定程序處理大量的PDF。

就像你在網路上看到的那些線上PDF轉檔工具一樣,Stirling PDF的設計宗旨就是簡單易用,一個頁面一個功能。基本上只要上傳檔案,勾你要處理的選項,它就會自動完成作業,然後吐出檔案讓你下載。

Ivon認為Stirling PDF適合搭配同為自架服務的NextcloudPaperless使用,一同為無紙化的辦公室工作流努力~

1. Striling PDF的安裝方式
#

詳細使用說明請參閱開發者的Github

Stirling PDF是用Java寫的,集合了許多開源專案的PDF處理工具。

開發者提供封裝好的桌面版,請到Github Releases下載。Windows下載exe,點二下開啟即會自動開啟界面。

Linux建議用Docker部署,比較好管理,也方便遠端存取:

  1. 新增docker-compose.yml
mkdir ~/stirlingpdf

cd ~/stirlingpdf

vim docker-compose.yml
  1. 填入以下內容:
version: '3.3'
services:
  stirling-pdf:
    image: stirlingtools/stirling-pdf:latest
    ports:
      - '8080:8080' # 暴露的通訊埠
    volumes:
      - ./trainingData:/usr/share/tessdata # OCR套件位置
      - ./extraConfigs:/configs # 設定檔
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true # 安裝全部功能
      - LANGS=zh_TW # 界面語言
  1. 啟動容器服務。在瀏覽器開啟http://127.0.0.1:8080進入網頁界面。
docker compose up -d
  1. 若要讓網頁界面從外部網路存取,請使用內網穿透方案

2. Striling PDF使用教學
#

這…功能太多了,講不完啊XD

基本上首頁的選單就說明了每個頁面的功能,準備好PDF文件,點進去依照畫面指示操作就好。

值得一提的是「PDF複合」功能,它能夠上傳多份PDF文件,並在網頁界面重排頁面順序,再合併輸出為新PDF文件。

還有這個管道功能,它能夠依照你定義的一系列操作,批次處理每個上傳的PDF文件。例如設定先合併PDF,裁剪文件,再加上簽名,最後輸出。

3. Striling PDF啟用中文OCR
#

Striling PDF的OCR功能可以讓PDF文件內的手寫文字變成能夠選取的框框。

Striling PDF依賴Tesseract進行OCR。如果使用Docker部署,請到tessdata的Github下載.traindata檔案,放到docker-compose.yml所在目錄的trainingData裡面。

例如我要辨識正體中文和英文,那麼trainingData目錄下應該會有這些檔案:

.
└── trainingData
    ├── chi_tra.traineddata
    ├── chi_tra_vert.traineddata
    ├── eng.traineddata

然後在工具 → 檢視 → OCR,勾選要辨識別的語言,上傳檔案,稍待一會,吐出處理過的PDF文件。

相關文章

OCRmyPDF,Linux開源OCR軟體,將PDF或圖片轉成文字進行編輯
分類   Linux系統 Linux好用軟體
標籤   Optical Character Recognition LibreOffice Tesseract
利用Tailscale Funnel將Linux伺服器服務暫時公開到外網,提供HTTPS
分類   Linux系統 Self-hosting自架
標籤   Tailscale
Cloudflare Tunnel教學,從外網安全地存取內網的Linux伺服器
分類   Linux系統 Self-hosting自架
標籤   Cloudflare

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。