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授權金鑰。 否則,企業功能將附加水印。

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

    <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)。 用逗號分隔多個 URL。 使用all允許來自任何來源的請求。
  • HTTP_PORTS:定義容器公開的HTTP端口。 這應該與使用8080)。 用分號分隔多個端口(;)。
  • HTTPS_PORTS:定義容器公開的HTTPS端口。 這應該與使用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

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

[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 中的字或樣式排除?

您可以通過將 POST 請求發送到 IronSecureDoc API 端點,使用像 cURL 這樣的工具,指定 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 startdocker rm -f

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

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

還在滾動嗎?

想要快速證明嗎?
運行一個樣本觀看您的PDF加密。