【itext学习之路】--3.对pdf文档进行加密和权限设置
來源:https://blog.csdn.net/tomatocc/article/details/80667838
上篇文章,我們學習了pdf的屬性設置,但是我們知道,在實際開發中,如果pdf文檔被黑客盜取的話,那么pdf中的信息就會被泄露,因此本篇文章將會介紹pdf的加密設置,并且設置權限。
- 首先我們要說明的是,itext中對pdf文檔的加密包括兩部分,第一部分是用戶密碼,第二部分是所有者密碼。這兩部分可以簡單的理解為管理員密碼和用戶密碼,因此我們在設置這兩個密碼的權限的時候,往往會將所有者密碼的權限級別設置的更高,而用戶密碼權限往往是“只讀”。
首先,在之前的基礎上,我們要在引入一個jar包,bcprov-jdk15-133.jar
 可以去maven里面下載,或者在我上傳的jar包資源下載:點擊下載
- 下面是我們的代碼
說明一下:上面的“userpassword”是我們設置的用戶密碼。“ownerPassword”是我們設置的所有者密碼。后面兩個變量依次是用戶權限和所有者權限設置。下面將會對所有的權限參數進行詳細解釋。
- 然后我們打開我們的pdf文檔,會彈出一個讓你輸入密碼的對話框,我們先用“userpassword”這個用戶密碼去打開。然后再查看文檔的屬性,具體如下:
- 我們可以看到,我們是無法對現在的這個pdf進行打印和修改的。接下來,我們重新打開這個pdf。用“ownerPassword”這個密碼取打開。然后再查看文檔的屬性,具體如下:
?
?我們可以看到,當我們第二次用所有者密碼去打開這個pdf文檔的時候,我們的操作權限比之前大了許多。上述這兩種權限的設置是比較常用的。接下來我將詳細介紹一下,所有權限的參數及含義。
權限參數
 PdfWriter.ALLOW_MODIFY_CONTENTS
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.ALLOW_COPY
 **允許復制,簽名 不允許打印,編輯 加密級別:40-bit-RC ***
 PdfWriter.ALLOW_MODIFY_ANNOTATIONS
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.ALLOW_FILL_IN
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.ALLOW_SCREENREADERS
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.ALLOW_ASSEMBLY
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.EMBEDDED_FILES_ONLY
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.DO_NOT_ENCRYPT_METADATA
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 PdfWriter.ENCRYPTION_AES_256
 允許打印,編輯,復制,簽名 加密級別:256-bit-AES
 PdfWriter.ENCRYPTION_AES_128
 允許打印,編輯,復制,簽名 加密級別:128-bit-AES
 PdfWriter.STANDARD_ENCRYPTION_128
 允許打印,編輯,復制,簽名 加密級別:128-bit-RC4
 PdfWriter.STANDARD_ENCRYPTION_40
 允許打印,編輯,復制,簽名 加密級別:40-bit-RC4
 ?
總結
以上是生活随笔為你收集整理的【itext学习之路】--3.对pdf文档进行加密和权限设置的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Spring Data JPA 从入门到
- 下一篇: Spring Data JPA 从入门到
