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 文件,點選確認,將其匯入專案。
建立一個 PdfDocument 實例。
使用 PdfDocument.loadFromFile()方法載入PDF範例文件。
設定開啟密碼、權限密碼、加密金鑰大小和權限。
使用 PdfDocument.getSecurity().encrypt(java.lang.String openPassword, java.lang.String permissionPassword, java.util.EnumSet
使用 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(); } }
建立一個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
使用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文件的加密或解密方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!