使用 C# 在 Linux 上託管 IronSecureDoc

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 上部署的映像和容器(安裝之前)在 Linux 版 Docker Desktop 中不可用。

平台

逐步指南

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

使用試用金鑰或許可證金鑰去除浮水印

@@--BRACKET-t-OPEN--@ 代替<IRONSECUREDOC_LICENSE_KEY>使用您實際的 IronSecureDoc 授權金鑰。 否則,企業功能將會新增浮水印。

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 發行版已安裝 Docker Desktop,例如 Ubuntu、Debian、Fedora 或 Red Hat Enterprise Linux。

如何下載 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 介面?

啟動容器後,請在網頁瀏覽器中造訪 http://localhost:8080/swagger/index.html 存取 IronSecureDoc 介面。

如何為 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 中的文字?

使用 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 Reference 中找到。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Version: 2024.10 剛發表