BentoPDF:用戶端PDF工具包,支援自架和雙許可證
隱私第一 PDF 工具包。 BentoPDF BentoPDF** 是一個功能強大、隱私第一的用戶端 PDF 工具包,可自行託管,讓您可以直接在瀏覽器中操作、編輯、合併和處理 PDF 文件。
秒懂
- 它是什麼?
- BentoPDF是一個JavaScript PDF工具包,完全在瀏覽器中執行。README描述了其工具、部署路徑、設定和授權。
- 適合誰用?
- BentoPDF提供了全面的PDF工具集、兩種部署版本和雙許可證模式。README提供了自架、離線部署和自訂品牌的實用說明。
- 可以商用嗎?
- 可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 1 天前。
- 用什麼語言寫的?
- 主要是 JavaScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
BentoPDF是什麼以及它如何處理隱私
README將BentoPDF描述為一個隱私優先、用戶端PDF工具包。它可以自架,並允許您直接在瀏覽器中操作、編輯、合併和處理PDF檔案。README聲明不需要伺服器端處理,這意味著檔案永遠不會上傳到伺服器。該專案使用JavaScript編寫,託管在GitHub上的alam00000帳戶下。倉庫元資料顯示有14,518個星標和1,210個分叉,但README沒有提供效能基準或使用者數量。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 1 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 7 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
跨PDF工作流程的工具覆蓋
README列出了大量按類別組織的工具:整理和管理PDF(合併、拆分、旋轉、提取頁面),編輯和修改(註解、表單建立、浮水印、編輯),轉換為PDF和從PDF轉換(Office文件、圖片、電子書),以及保護和最佳化(加密、解密、壓縮、清理)。還包括工作流程建置器和OCR。README中提到的文件頁面引用了50多種工具。README中沒有指定確切數量,但文件連結說是50+。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 2 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 8 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
部署選項:Docker、靜態託管和本機建置
README提供了多種執行BentoPDF的方式。快速入門從GitHub Container Registry拉取Docker映像:ghcr.io/alam00000/bentopdf-simple:latest,並使用'docker run -p 3000:8080'執行。對於靜態託管,可以從發行版下載預建置的分發包,並用任何Web伺服器提供服務。也可以使用'npm install'、'npm run build'和'npm run package'從原始碼建置。還提供了Docker Compose和Podman Compose設定,以及Podman Quadlet系統整合的範例。README指出,Office檔案轉換需要SharedArrayBuffer,因此應用程式必須跨來源隔離並從安全內容提供。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 3 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 9 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
建置變體和自訂品牌
BentoPDF有兩種建置版本。自架建置(bentopdf-simple)在功能上與商業建置相同,但隱藏了行銷元素,如hero、FAQ、推薦和頁尾。商業建置(bentopdf)包含完整的行銷網站,並由bentopdf.com和商業許可證持有者使用。兩種建置都支援透過環境變數(如VITE_BRAND_NAME、VITE_BRAND_LOGO和VITE_FOOTER_TEXT)進行自訂品牌設定,這些變數在建置時設定。README還描述了壓縮模式(gzip、brotli、original、all)以及用於從jsDelivr提供WASM檔案的CDN最佳化旗標。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 4 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 10 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
WASM模組、OCR和離線部署
進階PDF功能依賴WASM模組:PyMuPDF、Ghostscript和CoherentPDF。預設情況下,這些模組從jsDelivr CDN載入,但URL可透過環境變數設定。OCR使用Tesseract,並且也有可設定的worker、core、language和font URL。對於離線網路,README提供了prepare-airgap.sh指令碼,該指令碼下載所需套件、建置Docker映像並匯出帶有設定指令碼的捆綁包。還提供了手動步驟。README強調WASM檔案必須與應用程式同源提供,因為Web Workers使用importScripts()。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 5 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 11 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
授權和開源條款
BentoPDF採用雙授權。它在AGPL-3.0下免費提供,適用於公開原始碼的開源專案,並提供79美元終身商業授權,用於專有閉源應用。AGPL-3.0授權(如摘錄所示)要求網路伺服器運營商向該伺服器的使用者提供執行中的修改版本的原始碼。README指出,BentoPDF不在其原始碼中捆綁AGPL授權的處理庫,而是預設定CDN URL。授權摘錄沒有提及任何保固或支援義務,README也沒有。
驗收 BentoPDF 時,先用 Docker Compose 啟動自架版本,從瀏覽器測試合併、拆分與壓縮,再在網路隔離環境按 README 的 WASM Configuration 指向本地模組。觀察瀏覽器網路請求、輸出 PDF 與 `.env`,並以 AGPL-3.0 或 $79 commercial license 對照部署方式。 第 6 次檢查應保留實際輸入、輸出與錯誤訊息,讓這個專案的限制能和文件中的能力逐項對照。
編輯結論
BentoPDF提供了全面的PDF工具集、兩種部署版本和雙許可證模式。README提供了自架、離線部署和自訂品牌的實用說明。關於效能、安全保證和生產結果,README並未涉及,需要另行驗證。 適合先按 bentopdf README 的具體入口做小規模檢查,不適合把文件未說明的相容性或效能當成承諾;先觀察 bentopdf 的實際輸入、輸出與錯誤訊息,再決定是否納入工作流程。
社群筆記