当前位置:   article > 正文

Java 加密、解密PDF文档_java设置pdf打开密码

java设置pdf打开密码

本篇文章将介绍通过Java来设置PDF文档保护的方法。我们可以设置仅用于查阅文档的密码,即该通过该密码打开文档仅用于文档阅读,无法编辑;也可以设置文档编辑权限的密码,即通过该密码打开文档时,文档为可编辑状态。

使用工具:Free Spire.PDF for Java V2.0.0(免费版)

首先,在pom.xml文件中配置Maven仓库路径。

  1. <repositories>
  2. <repository>
  3. <id>com.e-iceblue</id>
  4. <name>e-iceblue</name>
  5. <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
  6. </repository>
  7. </repositories>

引入免费版本(免费版有页数限制,不能超出10页): 

  1. <dependencies>
  2. <dependency>
  3. <groupId>e-iceblue</groupId>
  4. <artifactId>spire.pdf.free</artifactId>
  5. <version>2.2.2</version>
  6. </dependency>
  7. </dependencies>

 1】加密PDF文档

  1. import java.util.EnumSet;
  2. import com.spire.pdf.PdfDocument;
  3. import com.spire.pdf.security.PdfEncryptionKeySize;
  4. import com.spire.pdf.security.PdfPermissionsFlags;
  5. public class EncryptPDF {
  6. public static void main(String[] args) {
  7. //创建PdfDocument实例
  8. PdfDocument doc = new PdfDocument();
  9. //加载PDF文件
  10. doc.loadFromFile("sample.pdf");
  11. //加密PDF文件
  12. PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
  13. String openPassword = "123456";//打开文档时,仅用于查看文档
  14. String permissionPassword = "test";//打开文档时,可编辑文档
  15. EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
  16. doc.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);
  17. //保存文件
  18. doc.saveToFile("Encrypt.pdf");
  19. doc.close();
  20. }
  21. }

运行程序,生成文档。打开文档时,输入密码,可查看文档加密的具体情况。如下图:

注意:如果不想给某项加密的话只需给个空值就行。

2】解除PDF密码保护

  1. import com.spire.pdf.PdfDocument;
  2. import com.spire.pdf.security.PdfEncryptionKeySize;
  3. import com.spire.pdf.security.PdfPermissionsFlags;
  4. public class DecryptPDF {
  5. public static void main(String[] args) throws Exception {
  6. //创建PdfDocument实例
  7. PdfDocument doc = new PdfDocument();
  8. //加载带密码保护的PDF文件
  9. doc.loadFromFile("Encrypt.pdf", "123456");
  10. //解除文档中的密码保护
  11. doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "test");
  12. //保存文件
  13. doc.saveToFile("Decrypt.pdf");
  14. doc.close();
  15. }
  16. }

运行程序后,生成的文档将不再受密码保护。

 

参考:https://www.cnblogs.com/Yesi/p/10244405.html

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/202743
推荐阅读
相关标签
  

闽ICP备14008679号