使用 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

先決條件

[{w:(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

[{t:(替換<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 上運作後,您可以透過在 Web 瀏覽器中存取http://localhost:8080/swagger/index.html來存取 IronSecureDoc 介面。

在 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_MBREQUEST_TIMEOUT_SECONDSALLOWED_ORIGINSHTTP_PORTSHTTPS_PORTSIronSecureDoc_LicenseKey

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

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

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

管理 IronSecureDoc 容器的基本 Docker 指令包括docker stopdocker start以及docker rm -f

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

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

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