Adobe IFilter 不提供提供密码来打开受密码保护的 PDF 文件的机制,因此它不能用于打开受密码保护的文件。
我想知道,是否有一种相对简单的方法来以编程方式检索 PDF 文件中的实际加密数据,使用标准加密 API 对其进行解密,然后使用解密的数据构建一个新的 PDF 文件?
要打开受密码保护的 PDF,您至少需要开发一个 PDF 解析器、解密器和生成器。不过,我不建议这样做。这绝不是一件容易完成的任务。
在 PDF 库的帮助下,一切都变得更加简单。你可能想尝试Docotic.Pdf 库的任务(免责声明:我为图书馆的供应商工作)。
这是您的任务示例:
public static void unprotectPdf(string input, string output)
{
bool passwordProtected = PdfDocument.IsPasswordProtected(input);
if (passwordProtected)
{
string password = null; // retrieve the password somehow
using (PdfDocument doc = new PdfDocument(input, password))
{
// clear both passwords in order
// to produce unprotected document
doc.OwnerPassword = "";
doc.UserPassword = "";
doc.Save(output);
}
}
else
{
// no decryption is required
File.Copy(input, output, true);
}
}
Docotic.pdf还可以从 PDF 中提取文本(格式化或未格式化)。它可能对索引很有用(我猜这就是你要做的,因为你提到了 Adobe IFilter)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)