JAVA PDF加密查看和编辑

通过 Maven 仓库安装 Spire 系列 Java 产品

import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;

import java.util.EnumSet;

public class Test {

    public static void main(String[] args) {

        // 创建PdfDocument实例
        PdfDocument doc = new PdfDocument();

        // 加载PDF文件
        doc.loadFromFile("D:/var/sample.pdf");
        // 添加一个空页(配合remove去除水印Evaluation Warning : The document was created with Spire.PDF for Java)
        doc.getPages().add();
        // 加密PDF文件
        PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;
        String openPassword = "111"; // 打开文档时,仅用于查看文档
        String permissionPassword = "222"; // 打开文档时,可编辑文档
        EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields);
        doc.getSecurity().encrypt(openPassword, permissionPassword, flags, keySize);

        System.out.println("页数:" + doc.getPages().getCount());
        // 移除第一个页
        doc.getPages().remove(doc.getPages().get(doc.getPages().getCount()-1));
        // 保存文件
        doc.saveToFile("D:/var/Encrypt.pdf");
        doc.close();
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>mavenTest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.pdf</artifactId>
            <version>3.11.6</version>
        </dependency>
    </dependencies>

</project>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 Microsoft Excel没有直接的方法内置水印在Excel工作表中,我们可通过添加页眉页脚功能,将图片...
    Tina_Tang阅读 2,616评论 0 1
  • 概况 通常来说,对Excel文档进行保护的方法有保护整个工作簿或指定的工作表,以及标记最终状态,设置用户可以编辑区...
    Tina_Tang阅读 760评论 0 0
  • 前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密。同时,因需要我们也可对加密文档进行...
    Tina_Tang阅读 1,171评论 0 0
  • java解析pdf获取pdf中内容信息 今日项目中需要将pdf中的数据获取到进行校验数据,于是前往百度翻来覆去找到...
    喊我小王吧阅读 25,091评论 1 10
  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,269评论 0 3