使用 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 桌面版,提取最新的 IronSecureDoc Docker 映像,并配置容器的环境变量,如 IronSecureDoc_LicenseKeyPDF_MAX_SIZE_MBREQUEST_TIMEOUT_SECONDS。详细说明请参见教程。

如何在 Mac 上使用 HTTPS 支持运行 IronSecureDoc 容器?

要在 Mac 上使用 HTTPS 支持运行 IronSecureDoc 容器,请使用 dotnet dev-certs 生成证书,然后运行容器,使用的命令应包含用于卷的 -v 和用于环境变量的 -e,并指定证书路径和密码。

在 macOS 上运行 Docker 容器后,我如何访问 IronSecureDoc 界面?

一旦 Docker 容器在 macOS 上运行,您可以通过访问 Web 浏览器中的 http://localhost:8080/swagger/index.html 访问 IronSecureDoc 界面。

安装 Docker 桌面版在 macOS 上的先决条件是什么?

要在 macOS 上安装 Docker 桌面版,请确保您的 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 stop docker start docker rm -f

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Version: 2024.10 刚刚发布