Host IronSecureDoc on Mac with C# API

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(以及前兩個版本)。

搭載 Intel 晶片的 Mac

搭載 Apple Silicon 的 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 授權金鑰。 否則,"Enterprise版功能"將被加上浮水印。

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_LicenseKey, PDF_MAX_SIZE_MB,以及 REQUEST_TIMEOUT_SECONDS。詳細說明請參閱教學指南。

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

要在 Mac 上透過 HTTPS 執行 IronSecureDoc 容器,請使用 dotnet dev-certs,然後使用包含 -v 指定卷宗的 -e 來設定環境變數,並指定憑證路徑與密碼。

當 Docker 容器在 macOS 上運行時,該如何存取 IronSecureDoc 介面?

當 Docker 容器在 macOS 上運行後,您可透過瀏覽器造訪 IronSecureDoc 界面 http://localhost:8080/swagger/index.html

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

要在 macOS 上安裝 Docker Desktop,請確保您的 Mac 運行的是受支援的 macOS 版本,包括當前版本以及前兩個版本。此外,請務必選擇與您的處理器(Intel 或 Apple Silicon)相容的安裝程式。

如何使用 IronSecureDoc Docker 容器在 PDF 中遮蔽文字或圖案?

您可以透過向 IronSecureDoc API 端點發送 POST 請求,並使用 cURL 等工具指定 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 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

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

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

還在往下捲動嗎?

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