使用 C# API 在 Mac 上託管 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 參考文件

# Pull the latest IronSecureDoc Docker image
docker pull ironsoftwareofficial/ironsecuredoc:latest
# Pull the latest IronSecureDoc Docker image
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

先決條件

警告Docker 在最新版本的 macOS 上支援 Docker Desktop。 也就是說,包括目前版本的 macOS 和前兩個版本。 隨著 macOS 新主要版本的正式發布,Docker 將停止支援最舊版本,並支援最新版本的 macOS(以及先前的兩個版本)。

配備英特爾晶片的Mac電腦

搭載 Apple 晶片的 Mac

逐步指南

1. 安裝 Docker Desktop

如果您尚未安裝 Docker Desktop,請依照下列步驟操作:

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

2. 拉取"IronSecureDoc"Docker映像

開啟命令列介面,從 Docker Hub 拉取最新的 IronSecureDoc 映像:

# Pull the latest IronSecureDoc image
docker pull ironsoftwareofficial/ironsecuredoc:latest
# Pull the latest IronSecureDoc image
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

3. 不含憑證運作容器

使用必要的環境變數來執行 Docker 容器:

# Run the Docker container with environment variables
docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
# Run the Docker container with environment variables
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 授權金鑰。 否則,企業功能將會新增浮水印。

4. 訪問容器

容器運行後,您可以透過開啟網頁瀏覽器並導航至以下位址來存取 IronSecureDoc:

http://localhost:8080/swagger/index.html

您應該會看到 IronSecureDoc 介面,這表示您的容器正在成功運行。

5. 使用憑證執行 IronSecureDoc 容器

如果需要使用憑證執行容器,請依照下列步驟產生憑證並設定本機:

1.生成證書

  # Generate and trust HTTPS development certificate
  dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
  dotnet dev-certs https --trust
  # Generate and trust HTTPS development certificate
  dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
  dotnet dev-certs https --trust
SHELL

代替<CREDENTIAL_PLACEHOLDER>使用密碼。

2.運行 Docker 容器

  # Run the container with HTTPS support
  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
  # Run the container with HTTPS support
  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_or_name>
  docker stop <container_id_or_name>
SHELL

-啟動容器

  docker start <container_id_or_name>
  docker start <container_id_or_name>
SHELL

-移除容器

  docker rm -f <container_id_or_name>
  docker rm -f <container_id_or_name>
SHELL

環境變數

可以使用以下環境變數配置容器:

  • 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 參考文件

編輯文字

# Redact specific words in a PDF document
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'
# Redact specific words in a PDF document
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替換為要編輯的單字。

編輯正規表示式

# Redact text based on a regular expression in a PDF document
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'
# Redact text based on a regular expression in a PDF document
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 參考文件

常見問題解答

在 macOS 上託管 IronSecureDoc 容器需要哪些步驟?

要在 macOS 上託管 IronSecureDoc 容器,您需要安裝 Docker Desktop,拉取最新的 IronSecureDoc Docker 映像檔,並使用環境變數配置容器,例如 IronSecureDoc_LicenseKeyPDF_MAX_SIZE_MBREQUEST_TIMEOUT_SECONDS。教程中提供了詳細說明。

如何在 Mac 上執行支援 HTTPS 的 IronSecureDoc 容器?

若要在 Mac 上以 HTTPS 執行 IronSecureDoc 集裝箱,請使用 dotnet dev-certs 產生證書,然後以適當的指令執行集裝箱,該指令包含 -v 表示卷和 -e 表示環境變數,指定證書路徑和密碼。

Docker 容器在 macOS 上執行後,如何存取 IronSecureDoc 介面?

一旦 Docker 容器在 macOS 上執行,您就可以在網頁瀏覽器中造訪 http://localhost:8080/swagger/index.html 來存取 IronSecureDoc 介面。

在 macOS 上安裝 Docker Desktop 的先決條件是什麼?

若要在 macOS 上安裝 Docker Desktop,請確保您的 Mac 正在執行受支援的 macOS 版本,包括目前的版本和之前的兩個版本。此外,請確定您選擇的安裝程式與您的處理器相容,無論是 Intel 或 Apple Silicon。

如何使用 IronSecureDoc Docker 容器刪除 PDF 中的文字或圖案?

您可以使用 cURL 等工具向 IronSecureDoc API 端點傳送 POST 請求,指定 PDF 檔案和要刪除的字詞或圖案,從而刪除 PDF 中的字詞或圖案。

在 macOS 上可以為 IronSecureDoc 容器設定哪些環境變數?

IronSecureDoc 容器的環境變數包括 PDF_MAX_SIZE_MB, REQUEST_TIMEOUT_SECONDS, ALLOWED_ORIGINS, HTTP_PORTS, HTTPS_PORTS, 以及 IronSecureDoc_LicenseKey.

如何在 macOS 上拉取最新的 IronSecureDoc Docker 映像?

若要在 macOS 上拉取最新的 IronSecureDoc Docker 映像檔,請執行指令:docker pull ironsoftwareofficial/ironsecuredoc:latest 在您的終端機。

在 Mac 上管理 IronSecureDoc 容器的基本 Docker 指令有哪些?

管理 IronSecureDoc 容器的基本 Docker 指令包括 docker stop , docker start , 和 docker rm -f

Curtis Chau
技術作家

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

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

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