Hosting IronSecureDoc on Linux Using C

This article was translated from English: Does it need improvement?
Translated
View the article in English
IronSecureDoc on Docker

IronSecureDoc 是一款 Docker 容器,旨在透過簡單的 REST API 提供強大的 PDF 處理功能,讓您免去線上 SaaS 服務的繁瑣與額外負擔。 本指南將引導您逐步在您的電腦上部署 IronSecureDoc,內容包含設定環境變數以及使用 REST API 的基本範例。 如需完整的 API 資訊,請參閱我們的 REST API 參考文件

docker pull ironsoftwareofficial/ironsecuredoc:latest
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

先決條件

警告在 Linux 上的 Docker Desktop 會執行一台虛擬機器 (VM),該虛擬機器在啟動時會建立並使用一個自訂的 Docker 上下文 desktop-linux

這意味著部署在 Linux Docker Engine 上的映像檔和容器(安裝前)無法在 Docker Desktop for Linux 中使用。

平台

逐步指南

1. 安裝 Docker Desktop

若您尚未安裝 Docker Desktop,請依照以下步驟操作:

  1. 前往 Docker Desktop 下載頁面
  2. 下載適用於 Linux 的 Docker Desktop 安裝程式。
  3. 執行安裝程式並依照螢幕上的指示操作。
  4. 安裝完成後,啟動 Docker Desktop 並確認其正在運行。

2. 拉取"IronSecureDoc"Docker 映像檔

開啟命令提示字元,並從 Docker Hub 拉取最新的 IronSecureDoc 映像檔:

docker pull ironsoftwareofficial/ironsecuredoc:latest
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

3. 無需憑證即可執行容器

請設定必要的環境變數後執行 Docker 容器:

Swagger UI in Browser
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

套用試用版或授權金鑰以移除浮水印

提示
請將 <IRONSECUREDOC_LICENSE_KEY> 替換為您的實際 IronSecureDoc 授權金鑰。 否則,"Enterprise版功能"將被加上浮水印。

Swagger UI in Browser

)}]

4. 存取容器

容器啟動後,您可開啟網頁瀏覽器並導航至以下網址,以存取 IronSecureDoc:

http://localhost:8080/swagger/index.html
Swagger UI in Browser

您應會看到 IronSecureDoc 介面,這表示您的容器已成功執行。

5. 使用憑證執行 IronSecureDoc 容器

若需使用憑證執行容器,請依照以下步驟產生憑證並設定本地端機器:

  1. 產生憑證

    dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
    dotnet dev-certs https --trust
    dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
    dotnet dev-certs https --trust
    SHELL

    請將 <CREDENTIAL_PLACEHOLDER> 替換為密碼。

  2. 執行 Docker 容器

    docker container run -d -p 8081:8081 -p 8080:8080 \
    -e HTTP_PORTS=8080 -e HTTPS_PORTS=8081 \
    -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
    -e ENVIRONMENT=Production \
    -v $HOME/.aspnet/https:/https:ro \
    -e CERTIFICATE_PATH=$HOME/.aspnet/https/ironsecuredoc.pfx \
    -e CERTIFICATE_PASSWORD=<CERTIFICATE_PASSWORD> \
    ironsoftwareofficial/ironsecuredoc:latest
    docker container run -d -p 8081:8081 -p 8080:8080 \
    -e HTTP_PORTS=8080 -e HTTPS_PORTS=8081 \
    -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
    -e ENVIRONMENT=Production \
    -v $HOME/.aspnet/https:/https:ro \
    -e CERTIFICATE_PATH=$HOME/.aspnet/https/ironsecuredoc.pfx \
    -e CERTIFICATE_PASSWORD=<CERTIFICATE_PASSWORD> \
    ironsoftwareofficial/ironsecuredoc:latest
    SHELL

    請分別將 <IRONSECUREDOC_LICENSE_KEY><CERTIFICATE_PASSWORD> 替換為您的實際 IronSecureDoc 授權金鑰和憑證密碼。

6. 容器管理

您可以使用 Docker 指令來管理正在運行的容器。 以下是一些有用的指令:

  • 停止容器

    docker stop <container_id>
    docker stop <container_id>
    SHELL
  • 啟動容器

    docker start <container_id>
    docker start <container_id>
    SHELL
  • 移除容器

    docker rm -f <container_id>
    docker rm -f <container_id>
    SHELL

請將 <container_id> 替換為實際的容器 ID 或名稱。

環境變數

可透過以下環境變數設定此容器:

  • PDF_MAX_SIZE_MB (預設:30):設定 PDF 上傳的最大允許檔案大小(單位:兆位元組)。
  • REQUEST_TIMEOUT_SECONDS (預設:5):設定 API 請求的超時時間(以秒為單位)。 若設定為 -1,則請求將無限期執行。
  • ALLOWED_ORIGINS:透過指定允許的來源 URL 來設定跨來源資源共享 (CORS)。 若有多個網址,請以逗號分隔。 使用 * 或 "all" 允許來自任何來源的請求。
  • HTTP_PORTS:定義容器所公開的 HTTP 埠號。 此處應使用 -p 標記來對應埠號映射(例如 8080)。 若有多個埠號,請以分號 (;) 分隔。
  • HTTPS_PORTS:定義容器所公開的 HTTPS 連接埠。 此設定應與使用 -p 標誌(例如 8081)的埠映射相符。 若有多個埠號,請以分號 (;) 分隔。
  • IronSecureDoc_LicenseKey (必填):設定 IronSecureDoc 授權金鑰。 重要:請勿公開分享此內容。

基本範例:在文件中遮蔽文字

如需完整的 API 端點清單,請參閱完整的 REST API 參考文件

隱去文字

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
   -H 'accept: */*' \
   -H 'Content-Type: multipart/form-data' \
   -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' \
   -F 'words_to_redact="sensitiveWord"' \
   -F 'draw_black_box=true' \
   -F 'match_whole_word=true' \
   -F 'match_case=true'
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
   -H 'accept: */*' \
   -H 'Content-Type: multipart/form-data' \
   -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' \
   -F 'words_to_redact="sensitiveWord"' \
   -F 'draw_black_box=true' \
   -F 'match_whole_word=true' \
   -F 'match_case=true'
SHELL

請將 /path/to/your/document.pdf 替換為您要遮蔽的文件實際路徑,並將 sensitiveWord 替換為您要遮蔽的字詞。

修飾正規表達式

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
   -H 'accept: */*' \
   -H 'Content-Type: multipart/form-data' \
   -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' \
   -F 'regular_expression="[0-9]"' \
   -F 'draw_black_box=true'
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
   -H 'accept: */*' \
   -H 'Content-Type: multipart/form-data' \
   -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' \
   -F 'regular_expression="[0-9]"' \
   -F 'draw_black_box=true'
SHELL

請將 /path/to/your/document.pdf 替換為您要遮蔽的文件實際路徑,並將 [0-9] 替換為您要匹配並遮蔽的正規表達式。

結論

您已成功在您的電腦上安裝 IronSecureDoc,並設定了必要的環境變數。 您還學習了如何使用 cURL 與 IronSecureDoc REST API 進行互動,以執行基礎及進階操作。 如需進一步的設定與使用詳情,請參閱完整的 REST API 參考文件。

常見問題

什麼是 IronSecureDoc,它是如何運作的?

IronSecureDoc 是一款 Docker 容器,透過 REST API 提供強大的 PDF 處理功能,讓您無需依賴 SaaS 服務即可實現離線文件安全防護。

在 Linux 伺服器上設定 IronSecureDoc 的要求為何?

要在 Linux 伺服器上設定 IronSecureDoc,請確保您的 Linux 發行版(例如 Ubuntu、Debian、Fedora 或 Red Hat Enterprise Linux)已安裝 Docker Desktop。

如何下載 IronSecureDoc Docker 映像檔?

請在終端機中執行以下指令,下載 IronSecureDoc Docker 映像檔: docker pull ironsoftwareofficial/ironsecuredoc:latest 在您的終端機中執行。

是否可以在沒有 SSL 憑證的情況下執行 IronSecureDoc 容器?

是的,您可以透過以下指令在不使用 SSL 憑證的情況下執行容器: docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=-e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest.

我該如何在瀏覽器上存取 IronSecureDoc 介面?

啟動容器後,請透過瀏覽器造訪IronSecureDoc http://localhost:8080/swagger/index.html

如何為 IronSecureDoc 生成並信任 SSL 憑證?

使用以下方式產生 SSL 憑證: dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p 並透過以下方式將其加入受信任憑證: dotnet dev-certs https --trust.

IronSecureDoc 中有哪些可用於配置的環境變數?

IronSecureDoc 中可設定的環境變數包括 PDF_MAX_SIZE_MB, REQUEST_TIMEOUT_SECONDS, ALLOWED_ORIGINS, HTTP_PORTS, HTTPS_PORTS,以及 IronSecureDoc_LicenseKey.

如何使用 IronSecureDoc 對 PDF 中的文字進行遮蔽處理?

using cURL 指令編輯 PDF 中的文字: curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' 並附上所需的表單資料。

我該使用哪個指令來停止正在運行的 IronSecureDoc Docker 容器?

使用以下指令停止正在運行的 Docker 容器: docker stop.

哪裡可以找到 IronSecureDoc 的完整 API 端點清單?

完整的 API 端點清單可於 IronSecureDoc 網站的 REST API 參考文件中查閱。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
版本: 2024.10 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎?
執行範例 觀看您的 PDF 被加密。