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 上部署的映像和容器(安裝之前)在 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

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

提示
請將 <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,需確保在 Ubuntu、Debian、Fedora 或 Red Hat Enterprise Linux 安裝了 Docker Desktop。

我如何下載 IronSecureDoc Docker 映像?

通過在終端執行命令:docker pull ironsoftwareofficial/ironsecuredoc:latest 來下載 IronSecureDoc Docker 映像。

是否可以在無 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_MBREQUEST_TIMEOUT_SECONDSALLOWED_ORIGINSHTTP_PORTSHTTPS_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 參考中。

Curtis Chau
技術作家

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

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

準備好開始了嗎?
版本: 2024.10 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明?
執行範例 觀看您的 PDF 變得加密。