使用pdfbox从pdf中删除加密,如qpdf [英] remove encryption from pdf with pdfbox, like qpdf

查看:1134
本文介绍了使用pdfbox从pdf中删除加密,如qpdf的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用qpdf,您可以简单地从pdf中删除限制/加密,如下所示:

With qpdf, you can simply remove restrictions/encryption from a pdf like so:

qpdf --decrypt infile outfile

我想用Java中的PDFBox做同样的事情:

I would like to do the same thing with PDFBox in Java:

PDDocument doc = PDDocument.load(inputFilename);
if( doc.isEncrypted() )
{
   //remove the encryption to alter the document
}

我已经尝试使用StandardDecryptionMaterial,但我不知道所有者密码是什么。 qpdf如何做到这一点?

I've tried this with StandardDecryptionMaterial, but I have no idea what the owner password is. How does qpdf do this?

示例文档: https://issues.apache.org/jira/secure/attachment/12514714/in.pdf

推荐答案

这是你需要做的。灵感来自PDFBox WriteDecodedDoc工具。您可能必须包含bouncycastle jar( http://www.bouncycastle.org/latest_releases.html

This is what you'd need to do. Inspired from the PDFBox WriteDecodedDoc tool. You may have to include the bouncycastle jar (http://www.bouncycastle.org/latest_releases.html)

    if (doc.isEncrypted()) {
        try {
            doc.decrypt("");
            doc.setAllSecurityToBeRemoved(true);
        }
        catch (Exception e) {
            throw new Exception("The document is encrypted, and we can't decrypt it.", e);
        }
    }

这篇关于使用pdfbox从pdf中删除加密,如qpdf的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆