詳解Java如何實現加密或者解密PDF文檔
PDF文檔加密是一種用於保護文件內容的功能。加密後的文檔需要提供密碼才能打開和查看。這一功能有效防止未經授權的訪問、復制和修改 PDF 文件。Free Spire.PDF for Java支持以編程的方式加密和解密PDF文檔,且過程中不需要安裝第三方軟件。詳細操作步驟和相關代碼可以參考以下內容。
程序環境
在進行操作之前,請先將jar導入到Java程序中,請參考以下兩種導入方法:
方法一:如果您使用的是 maven,可以通過添加以下代碼到項目的 pom.xml 文件中,將 jar文件導入到應用程序中。
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>5.1.0</version> </dependency> </dependencies>
方法二:如果您沒有使用 maven,則可以從此鏈接下載Free Spire.PDF for Java,找到lib文件夾下的Spire.PDF.jar並進行解壓;然後在IDEA中創建一個新項目,依次點擊“文件”(File),“項目結構”(Project Structure),“組件”(Modules),“依賴項”(Dependencies),再點擊右方綠色“+”下的第一個選項“jar文件或路徑”(JARs or Directories),找到解壓後的Spire.PDF.jar 文件,點擊確認,將其導入到項目中。
加密PDF文檔
• 創建一個 PdfDocument 實例。
• 使用 PdfDocument.loadFromFile()方法加載PDF示例文檔。
• 設置打開密碼、權限密碼、加密密鑰大小和權限。
• 使用 PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet<PdfPermissionsFlags> permissions, PdfEncryptionKeySize keySize)方法來加密 PDF 文件。
• 使用 PdfDocument.saveToFile() 方法保存結果文檔。
import java.util.EnumSet; import com.spire.pdf.PdfDocument; import com.spire.pdf.security.PdfEncryptionKeySize; import com.spire.pdf.security.PdfPermissionsFlags; public class EncryptPDF { public static void main(String[] args) { //創建PdfDocument實例 PdfDocument pdf = new PdfDocument(); //加載PDF示例文檔 pdf.loadFromFile("sample.pdf"); //加密文檔 PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit; String openPassword = "123456"; String permissionPassword = "abcdef"; EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields); pdf.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize); //保存文檔 pdf.saveToFile("Encrypt.pdf"); pdf.close(); } }
解密PDF文檔
• 創建一個PdfDocument 實例。
• 使用PdfDocument.loadFromFile(java.lang.String filename, java.lang.String password) 方法加載加密PDF文檔。
• 通過使用PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet<PdfPermissionsFlags> permissions, PdfEncryptionKeySize keySize, java.lang.String originalPermissionPassword)方法來解密 PDF 文件。
• 使用PdfDocument.saveToFile()方法保存結果文件。
import com.spire.pdf.PdfDocument; import com.spire.pdf.security.PdfEncryptionKeySize; import com.spire.pdf.security.PdfPermissionsFlags; public class DecryptPDF { public static void main(String[] args) throws Exception { //創建PdfDocument實例 PdfDocument pdf = new PdfDocument(); //加載加密文檔 pdf.loadFromFile("Encrypt.pdf", "123456"); //解密文檔 pdf.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "abcdef"); //保存文檔 pdf.saveToFile("Decrypt.pdf"); pdf.close(); }
到此這篇關於詳解Java如何實現加密或者解密PDF文檔的文章就介紹到這瞭,更多相關Java加密解密PDF內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 詳解Java如何實現在PDF中插入,替換或刪除圖像
- Java 創建PDF打印小冊子案例
- 利用Java實現在PDF中添加工具提示
- Java如何在PDF中添加ToolTip工具提示
- Java實現替換PDF中的字體功能