How to use IronSecureDoc from C# in .NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

提升文件安全性的入口

IronSoftware.SecureDoc.Client 是一款強大的前端函式庫,旨在與 IronSecureDoc API 無縫互動,該 API 是一套託管於 Docker 容器中的全面文件安全解決方案。

此客戶端函式庫可輕鬆整合至您現有的 .NET 應用程式中,讓您透過簡單的 REST API 呼叫,即可運用 IronSecureDoc 的強大功能,包括 PDF 加密、遮蔽處理及數位簽章。

透過 IronSoftware.SecureDoc.Client,開發人員可確保應用程式內文件的安全性與完整性,並將所有操作維持在本地端,以強化資料保護。 無論您需要遮蔽敏感資訊、透過數位簽章認證文件,還是實施文件加密,IronSoftware.SecureDoc.Client 皆提供必要的工具,助您高效且安全地完成這些任務。

功能

主要功能:

  • 可輕鬆與 IronSecureDoc 的 REST API 整合。
  • 支援文件加密、遮蔽處理及數位簽章。
  • 協助在自建環境中安全地處理文件。
  • 透過將文件安全操作保留在本地端,強化資料保護。
  • 相容於 .NET 應用程式,提供簡便且安全的文件管理方案。

安裝

讓我們從套件管理員中安裝 NuGet 套件開始:

選項 1:從 NuGet 下載

此 NuGet 套件已於官方 NuGet 網站上架: https://www.nuget.org/packages/IronSoftware.SecureDoc.Client

選項 2:PM 安裝指令

Install-Package IronSoftware.SecureDoc.Client

程式碼範例

using IronSecureDoc;
using System.IO;
using System.Threading.Tasks;

// Example illustrating how to use the IronSecureDocClient
class SecureDocExample
{
    static async Task Main(string[] args)
    {
        // Replace with your IRONSECUREDOC URL
        var client = new IronSecureDocClient("http://localhost:5185");

        // Replace with your PDF or CERT paths
        string PDF_PATH = "path/to/your.pdf";
        string CERT_PATH = "path/to/your.p12";

        // Attempt to connect to the IronSecureDoc API
        if (await client.TryConnectAsync())
        {
            // Redact Text
            File.WriteAllBytes(
                "redact_text_example.pdf",
                await client.RedactTextAsync(PDF_PATH, new[] { "Dummy" })
            );

            // Redact Region
            File.WriteAllBytes(
                "redact_region_example.pdf",
                await client.RedactRegionAsync(PDF_PATH, 50, 50, 200, 100)
            );

            // Certify
            File.WriteAllBytes(
                "certify_example.pdf",
                await client.CertifyAsync(PDF_PATH, CERT_PATH, "123456", CertifyPermissions.FormFillingAllowed)
            );

            // Encrypt
            File.WriteAllBytes(
                "encrypt_example.pdf",
                await client.EncryptAsync(PDF_PATH, "iron")
            );
        }
    }
}
using IronSecureDoc;
using System.IO;
using System.Threading.Tasks;

// Example illustrating how to use the IronSecureDocClient
class SecureDocExample
{
    static async Task Main(string[] args)
    {
        // Replace with your IRONSECUREDOC URL
        var client = new IronSecureDocClient("http://localhost:5185");

        // Replace with your PDF or CERT paths
        string PDF_PATH = "path/to/your.pdf";
        string CERT_PATH = "path/to/your.p12";

        // Attempt to connect to the IronSecureDoc API
        if (await client.TryConnectAsync())
        {
            // Redact Text
            File.WriteAllBytes(
                "redact_text_example.pdf",
                await client.RedactTextAsync(PDF_PATH, new[] { "Dummy" })
            );

            // Redact Region
            File.WriteAllBytes(
                "redact_region_example.pdf",
                await client.RedactRegionAsync(PDF_PATH, 50, 50, 200, 100)
            );

            // Certify
            File.WriteAllBytes(
                "certify_example.pdf",
                await client.CertifyAsync(PDF_PATH, CERT_PATH, "123456", CertifyPermissions.FormFillingAllowed)
            );

            // Encrypt
            File.WriteAllBytes(
                "encrypt_example.pdf",
                await client.EncryptAsync(PDF_PATH, "iron")
            );
        }
    }
}
Imports IronSecureDoc
Imports System.IO
Imports System.Threading.Tasks

' Example illustrating how to use the IronSecureDocClient
Friend Class SecureDocExample
	Shared Async Function Main(ByVal args() As String) As Task
		' Replace with your IRONSECUREDOC URL
		Dim client = New IronSecureDocClient("http://localhost:5185")

		' Replace with your PDF or CERT paths
		Dim PDF_PATH As String = "path/to/your.pdf"
		Dim CERT_PATH As String = "path/to/your.p12"

		' Attempt to connect to the IronSecureDoc API
		If Await client.TryConnectAsync() Then
			' Redact Text
			File.WriteAllBytes("redact_text_example.pdf", Await client.RedactTextAsync(PDF_PATH, { "Dummy" }))

			' Redact Region
			File.WriteAllBytes("redact_region_example.pdf", Await client.RedactRegionAsync(PDF_PATH, 50, 50, 200, 100))

			' Certify
			File.WriteAllBytes("certify_example.pdf", Await client.CertifyAsync(PDF_PATH, CERT_PATH, "123456", CertifyPermissions.FormFillingAllowed))

			' Encrypt
			File.WriteAllBytes("encrypt_example.pdf", Await client.EncryptAsync(PDF_PATH, "iron"))
		End If
	End Function
End Class
$vbLabelText   $csharpLabel

IronSecureDocClient

說明

  • IronSecureDocClient 初始化:使用您的 IronSecureDocClient 伺服器網址初始化 IRONSECUREDOC
  • 連線:使用 TryConnectAsync() 來驗證與伺服器的連線。
  • 遮蔽文字:請定義需使用 RedactTextAsync 進行遮蔽的敏感字詞/短語。
  • 遮蔽區域:透過 RedactRegionAsync 指定座標來遮蔽特定區域。
  • 驗證:使用 CertifyAsync 添加數位憑證。 請提供憑證檔案的路徑及密碼。
  • Encrypt:使用 EncryptAsync 對文件進行加密以確保其安全性。

支援

如需支援,請聯絡我們:support@ironsoftware.com

常見問題

如何將文件安全功能整合到我的 .NET 應用程式中?

您可以透過 IronSoftware.SecureDoc.Client 函式庫整合文件安全功能。這讓您能夠透過 REST API 呼叫執行 PDF 加密、遮蔽及數位簽章等操作。

在 C# 專案中安裝 IronSecureDoc 客戶端需要哪些步驟?

若要在 C# 專案中安裝 IronSecureDoc 客戶端,您可以從 NuGet 下載 IronSoftware.SecureDoc.Client 套件,或使用套件管理員指令:Install-Package IronSoftware.SecureDoc.Client

我能否使用此解決方案對 PDF 文件進行文字遮蔽處理?

是的,您可以透過 RedactTextAsync 方法對 PDF 文件進行文字遮蔽,該方法允許您指定要遮蔽的字詞或短語。

如何確保我的文件操作既安全又在本地進行?

透過與 IronSecureDoc API(一種由 Docker 託管的解決方案)整合,IronSecureDoc 可確保文件操作在本地端安全進行,並確保所有安全流程均在本地處理。

IronSecureDoc API 在文件管理方面提供哪些功能?

IronSecureDoc API 提供文件加密、遮蔽、數位簽章等功能,並能協助在自建環境中進行安全的文件處理。

如何使用數位簽章對 PDF 文件進行認證?

若要使用數位簽章對 PDF 文件進行認證,請使用 CertifyAsync 方法,並提供您的認證檔案路徑及所需密碼。

如何在 C# 應用程式中加密 PDF 文件?

您可以在 C# 應用程式中使用 EncryptAsync 方法對 PDF 文件進行加密,該方法會使用指定的密碼來保護文件的安全。

是否可以在 PDF 文件中遮蔽特定區域?

是的,您可以透過 RedactRegionAsync 方法對 PDF 文件中的特定區域進行遮蔽,此方法需要您指定欲遮蔽區域的座標。

若在使用 IronSecureDoc 客戶端時遇到問題,該如何處理?

若在使用 IronSecureDoc 客戶端時遇到問題,您可以透過電子郵件 support@ironsoftware.com 聯繫 IronSoftware 的支援團隊以獲取協助。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

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

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

還在往下捲動嗎?

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