- IronSecureDoc
- 教學
- Azure主機和設定
使用 C# 在 Linux 上託管 IronSecureDoc
View the article in
English
IronSecureDoc 是一個 Docker 容器,旨在透過簡單的 REST API 為您提供強大的 PDF 操作功能,而無需在線 SaaS 服務的麻煩和開銷。 本指南將引導您完成在電腦上託管 IronSecureDoc 的步驟,包括設定環境變數和使用 REST API 的基本範例。 如需了解完整的 API,請查看我們的REST API 參考文件。
docker pull ironsoftwareofficial/ironsecuredoc:latest
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL
先決條件
Docker Desktop on Linux 會執行一個虛擬機器 (VM),在啟動時建立並使用自訂的 docker 上下文 desktop-linux.這意味著在 Linux Docker Engine 上部署的映像和容器(安裝之前)在 Linux 版 Docker Desktop 中不可用。
逐步指南
1. 安裝 Docker Desktop
如果您尚未安裝 Docker Desktop,請遵循下列步驟:
- 前往Docker Desktop 下載頁面。
- 下載適用於 Linux 的 Docker Desktop 安裝程式。
- 執行安裝程式並依照螢幕上的指示進行操作。
- 安裝完成後,啟動 Docker Desktop 並確保其正在運作。
2. 拉取"IronSecureDoc"Docker映像
開啟命令提示符,從 Docker Hub 拉取最新的 IronSecureDoc 映像:
docker pull ironsoftwareofficial/ironsecuredoc:latest
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL
3. 不含憑證運作容器
使用必要的環境變數來執行 Docker 容器:

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL
使用試用金鑰或許可證金鑰去除浮水印
[{t:(@ 代替<IRONSECUREDOC_LICENSE_KEY>使用您實際的 IronSecureDoc 授權金鑰。 否則,企業功能將會新增浮水印。

4. 訪問容器
容器運行後,您可以透過開啟網頁瀏覽器並導航至以下位址來存取 IronSecureDoc:
http://localhost:8080/swagger/index.html

您應該會看到 IronSecureDoc 介面,這表示您的容器正在成功運行。
5. 使用憑證執行 IronSecureDoc 容器
如果您需要使用證書執行容器,請按照以下步驟產生證書並設定本機:
1.生成證書:
dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
SHELL
代替<CREDENTIAL_PLACEHOLDER>使用密碼。
2.運行 Docker 容器:
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
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>
docker stop <container_id>
SHELL
-啟動容器:
docker start <container_id>
docker start <container_id>
SHELL
-移除容器:
docker rm -f <container_id>
docker rm -f <container_id>
SHELL
代替<container_id>使用實際的容器 ID 或名稱。
環境變數
容器可使用下列環境變數進行設定:
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 參考文件。
編輯文字
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'
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替換為要編輯的單字。
編輯正規表示式
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'
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 參考文件。
常見問題解答
IronSecureDoc 是一個 Docker 容器,透過 REST API 提供強大的 PDF 操作功能,無需依賴 SaaS 服務即可實現離線文件安全。
若要在 Linux 伺服器上設定 IronSecureDoc,請確保您的 Linux 發行版(例如 Ubuntu、Debian、Fedora 或 Red Hat Enterprise Linux)上已安裝 Docker Desktop。
在終端機中執行以下指令下載 IronSecureDoc Docker 映像: docker pull ironsoftwareofficial/ironsecuredoc:latest 。
是的,您可以使用以下命令在沒有 SSL 憑證的情況下執行容器: docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=-e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest .
啟動容器後,在 Web 瀏覽器中存取http://localhost:8080/swagger/index.html即可存取 IronSecureDoc 介面。
使用下列指令產生 SSL 憑證: dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p並使用以下命令信任它: dotnet dev-certs https --trust .
IronSecureDoc 中的可設定環境變數包括PDF_MAX_SIZE_MB 、 REQUEST_TIMEOUT_SECONDS 、 ALLOWED_ORIGINS 、 HTTP_PORTS 、 HTTPS_PORTS和IronSecureDoc_LicenseKey 。
使用 cURL 指令對 PDF 中的文字進行編輯: curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text'並附上所需的表單資料。
使用指令停止正在執行的 Docker 容器: docker stop 。
完整的 API 端點清單可在 IronSecureDoc 網站上的 REST API 參考中找到。
技術撰稿人
Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。
除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。