加密或解密 PDF 文件
在互聯(lián)網(wǎng)上共享機(jī)密文件時(shí),PDF 加密是一項(xiàng)至關(guān)重要的任務(wù)。通過使用強(qiáng)密碼對(duì) PDF 文件進(jìn)行加密,可以保護(hù)文件數(shù)據(jù)不被未經(jīng)授權(quán)方訪問。在某些情況下,可能還需要?jiǎng)h除密碼才能公開文檔。在本文中,您將學(xué)習(xí)如何使用 Spire.PDF for .NET 以編程方式加密或解密 PDF 文件。
- 使用密碼加密 PDF 文件
- 刪除密碼以解密 PDF 文件
安裝 Spire.PDF for .NET
首先,您需要將 Spire.PDF for.NET 軟件包中包含的 DLL 文件作為引用添加到您的 .NET 項(xiàng)目中。這些 DLL 文件既可以從這個(gè)鏈接下載,也可以通過 NuGet 安裝。
1 PM> Install-Package Spire.PDF
用密碼加密 PDF 文件
有兩種用于加密 PDF 文件的密碼--打開密碼和權(quán)限密碼。前者用于打開 PDF 文件,后者用于限制打印、內(nèi)容復(fù)制、注釋等。如果使用這兩種密碼對(duì) PDF 文件進(jìn)行加密,則可使用任一種密碼打開文件。
Spire.PDF for .NET提供的PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize)方法允許你同時(shí)設(shè)置打開密碼和權(quán)限密碼來加密PDF文件。具體步驟如下。
- 創(chuàng)建一個(gè) PdfDocument 對(duì)象。
- 使用 PdfDocument.LoadFromFile() 方法加載一個(gè)示例 PDF 文件。
- 使用PdfDocument.Security屬性獲取文檔的安全參數(shù)。
- 使用PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize)方法用打開密碼和權(quán)限密碼加密PDF文件。
- 使用PdfDocument.SaveToFile()方法保存結(jié)果文件。
[C#]
01 using Spire.Pdf; 02 using Spire.Pdf.Security; 03 04 namespace EncryptPDF 05 { 06 class Program 07 { 08 static void Main(string[] args) 09 { 10 //Create a PdfDocument object 11 PdfDocument pdf = new PdfDocument(); 12 13 //Load a sample PDF file 14 pdf.LoadFromFile(@"E:\Files\sample.pdf"); 15 16 //Encrypt the PDF file with password 17 pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit); 18 19 //Save the result file 20 pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF); 21 } 22 } 23 }
[VB.NET]
01 Imports Spire.Pdf 02 Imports Spire.Pdf.Security 03 04 Namespace EncryptPDF 05 Class Program 06 Private Shared Sub Main(ByVal args As String()) 07 08 'Create a PdfDocument object 09 Dim pdf As PdfDocument = New PdfDocument() 10 11 'Load a sample PDF file 12 pdf.LoadFromFile("E:\Files\sample.pdf") 13 14 'Encrypt the PDF file with password 15 pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit) 16 17 'Save the result file 18 pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF) 19 End Sub 20 End Class 21 End Namespace
移除密碼解密PDF文件
當(dāng)你需要從PDF文件中移除密碼時(shí),你可以在調(diào)用PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword)方法時(shí)將打開密碼和權(quán)限密碼設(shè)置為空。具體步驟如下
- 創(chuàng)建一個(gè) PdfDocument 對(duì)象。
- 使用PdfDocument.LoadFromFile(string filename, string password)方法加載帶密碼的加密PDF文件。
- 使用PdfDocument.Security屬性獲取文檔的安全參數(shù)。
- 通過使用PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword)方法將打開密碼和權(quán)限密碼設(shè)置為空,解密PDF文件。
- 使用 PdfDocument.SaveToFile() 方法保存結(jié)果文件。
01 using Spire.Pdf; 02 using Spire.Pdf.Security; 03 04 namespace DecryptPDF 05 { 06 class Program 07 { 08 static void Main(string[] args) 09 { 10 //Create a PdfDocument object 11 PdfDocument pdf = new PdfDocument(); 12 13 //Load the encrypted PDF file with password 14 pdf.LoadFromFile("Encrypt.pdf", "open"); 15 16 //Set the password as empty to decrypt PDF 17 pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission"); 18 19 //Save the result file 20 pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF); 21 } 22 } 23 }
[VB.NET]
01 Imports Spire.Pdf 02 Imports Spire.Pdf.Security 03 04 Namespace DecryptPDF 05 Class Program 06 Private Shared Sub Main(ByVal args As String()) 07 08 'Create a PdfDocument object 09 Dim pdf As PdfDocument = New PdfDocument() 10 11 'Load the encrypted PDF file with password 12 pdf.LoadFromFile("Encrypt.pdf", "open") 13 14 'Set the password as empty to decrypt PDF 15 pdf.Security.Encrypt(String.Empty, String.Empty, PdfPermissionsFlags.[Default], PdfEncryptionKeySize.Key128Bit, "permission") 16 17 'Save the result file 18 pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF) 19 End Sub 20 End Class 21 End Namespace
申請(qǐng)臨時(shí)許可證
若想從生成的文檔中刪除評(píng)估信息,或解除功能限制,申請(qǐng) 30 天試用許可證。