欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實現(xiàn)PDF文件加密并設(shè)置權(quán)限操作

 更新時間:2025年09月19日 09:25:10   作者:咕白m625  
在文檔安全日益重要的今天,如何用?C#?對PDF文件進行加密并設(shè)置訪問權(quán)限,已成為企業(yè)級開發(fā)中的常見需求,下面就跟隨小編一起來了解下具體實現(xiàn)方法吧

在文檔安全日益重要的今天,如何用 C# 對PDF文件進行加密并設(shè)置訪問權(quán)限,已成為企業(yè)級開發(fā)中的常見需求。尤其在文檔共享、審批流程或敏感資料管理中,C# 加密 PDF不僅關(guān)乎數(shù)據(jù)安全,更直接影響系統(tǒng)可信度。

本文將分享使用 Free Spire.PDF for .NET 實現(xiàn)PDF文件的加密與權(quán)限控制,提供可直接復(fù)用的代碼示例與操作流程,幫助開發(fā)者高效、安全地完成PDF保護。

免費 .NET PDF 庫

Free Spire.PDF for .NET是專為 .NET 開發(fā)者設(shè)計的輕量級工具,支持C#、VB.NET,免費無水印,但有頁數(shù)限制,適合小型項目快速集成。

  • 支持多種加密方式(密碼+權(quán)限)
  • 無需安裝額外組件,直接NuGet安裝
  • 代碼簡潔,學(xué)習(xí)成本低

安裝NuGet包:

Install-Package FreeSpire.PDF

核心功能:加密 + 權(quán)限設(shè)置

通過 Spire.PDF,我們可實現(xiàn)以下操作:

  • 設(shè)置用戶密碼(打開PDF需輸入密碼)
  • 設(shè)置所有者密碼(可修改權(quán)限,如禁止打?。?/li>
  • 配置訪問權(quán)限(如禁止復(fù)制、打印、編輯)
using Spire.Pdf;

namespace EncryptPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加載 PDF
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("示例.pdf");

            // 指定用戶密碼和所有者密碼
            string userPassword = "user123";
            string ownerPassword = "e-iceblue";

            PdfSecurityPolicy securityPolicy = new PdfPasswordSecurityPolicy(userPassword, ownerPassword);

            // 設(shè)置加密算法
            securityPolicy.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES_256;

            // 設(shè)置文檔權(quán)限
            securityPolicy.DocumentPrivilege = PdfDocumentPrivilege.AllowAll;
            securityPolicy.DocumentPrivilege.AllowPrint = false; // 禁止打印
            securityPolicy.DocumentPrivilege.AllowContentCopying = false; // 禁止復(fù)制

            // 加密 PDF 并保存
            pdf.Encrypt(securityPolicy);
            pdf.SaveToFile("加密PDF.pdf", FileFormat.PDF);
        }
    }
}

提示:用戶密碼用于打開PDF,所有者密碼用于修改權(quán)限,兩者可獨立設(shè)置。

方法補充

C# 實現(xiàn)PDF加密保護

  using Spire.Pdf.Security;

try
{
    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile("input.pdf");
    
    //?重點提示:商業(yè)版功能
    PdfSecurity security = doc.Security;
    security.KeySize = PdfEncryptionKeySize.Key128Bit; // 設(shè)置128位AES加密
    security.OwnerPassword = "admin@2024"; //權(quán)限密碼
    security.UserPassword = "user123"; //打開密碼
    
    //權(quán)限控制參數(shù)設(shè)置
    security.Permissions = PdfPermissionsFlags.Print 
                         | PdfPermissionsFlags.CopyContent;
    
    doc.SaveToFile("encrypted.pdf");
}
catch(NotSupportedException ex) 
{
    Console.WriteLine("加密功能需要商業(yè)版授權(quán)");
}

實際應(yīng)用場景

  • 合同審批流程:發(fā)送給客戶前加密,禁止打印或修改,保障法律效力
  • 內(nèi)部報告分發(fā):設(shè)置權(quán)限,僅允許查看,防止信息泄露
  • 教育平臺文檔:學(xué)生下載后只能閱讀,不可復(fù)制或編輯

在數(shù)字化辦公中,C# 加密 PDF 文件不僅是一種技術(shù)手段,更是一種安全習(xí)慣。通過 Free Spire.PDF for .NET,我們能用簡單代碼實現(xiàn)高安全性保護。

到此這篇關(guān)于C#實現(xiàn)PDF文件加密并設(shè)置權(quán)限操作的文章就介紹到這了,更多相關(guān)C# PDF加密與權(quán)限控制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# 批處理調(diào)用方法

    C# 批處理調(diào)用方法

    當批處理和aspx不在同一目錄中時,最好用WorkingDirectory設(shè)置啟動的進程的初始目錄為批處理所在目錄,否則如上例中批處理新建的目錄就應(yīng)在aspx所在目錄中而不是批處理所在目錄了!
    2008-12-12
  • C# Chart繪制簡單圖形波形

    C# Chart繪制簡單圖形波形

    這篇文章主要為大家詳細介紹了C# Chart繪制簡單圖形波形,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 從原理到高級應(yīng)用解析WPF依賴屬性

    從原理到高級應(yīng)用解析WPF依賴屬性

    依賴屬性(Dependency Property)是WPF中一個核心概念,它擴展了傳統(tǒng)的.NET屬性系統(tǒng),本文將從原理到高級應(yīng)用為大家進行詳細介紹,希望對大家有所幫助
    2025-07-07
  • C#實現(xiàn)聊天消息渲染與圖文混排詳解

    C#實現(xiàn)聊天消息渲染與圖文混排詳解

    在實現(xiàn)聊天軟件時,渲染文字表情圖文混排是一項非常繁瑣的工作,再加上還要支持GIF動圖、引用消息、撤回消息、名片等不同樣式的消息渲染時,就更加麻煩了。本文就來和大家分享一下具體實現(xiàn)方法,希望對大家有所幫助
    2023-02-02
  • C#實現(xiàn)泛型List分組輸出元素的方法

    C#實現(xiàn)泛型List分組輸出元素的方法

    這篇文章主要介紹了C#實現(xiàn)泛型List分組輸出元素的方法,涉及C#針對List的遍歷、排序、輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • c# 控件截圖的簡單實例

    c# 控件截圖的簡單實例

    這篇文章介紹了c# 控件截圖的簡單實例,有需要的朋友可以參考一下
    2013-10-10
  • C#中如何使用 XmlReader 讀取XML文件

    C#中如何使用 XmlReader 讀取XML文件

    本文介紹了C#中使用XmlReader,只讀、向前、循環(huán)讀取XML節(jié)點的方法,并為我們列出、XmlReader類的方法、屬性、枚舉等成員,希望對大家學(xué)習(xí)有所幫助。
    2016-05-05
  • c#數(shù)據(jù)的序列化和反序列化(推薦版)

    c#數(shù)據(jù)的序列化和反序列化(推薦版)

    今天項目中用到了數(shù)據(jù)的序列化和反序列化,數(shù)據(jù)用的是EF自動生成的代碼
    2011-09-09
  • Question:基于C#連續(xù)賦值的面試題(解答)

    Question:基于C#連續(xù)賦值的面試題(解答)

    本篇文章是對C#中連續(xù)賦值的面試題進行了解答,需要的朋友參考下
    2013-05-05
  • C# 使用動態(tài)庫DllImport("kernel32")讀寫ini文件的步驟

    C# 使用動態(tài)庫DllImport("kernel32")讀寫ini文件的步驟

    kernel32.dll是Windows中非常重要的32位動態(tài)鏈接庫文件,屬于內(nèi)核級文件,這篇文章主要介紹了C# 利用動態(tài)庫DllImport("kernel32")讀寫ini文件,需要的朋友可以參考下
    2023-05-05

最新評論