abcde1410/pdfdecrypter

PDF Decrypter 是一个独立的 PHP 库,允许快速方便地对 PDF 文件进行解密并永久移除密码。目前处于测试阶段。抛出自定义异常以实现更好的错误处理。

dev-main 2024-01-16 13:04 UTC

This package is auto-updated.

Last update: 2024-09-16 14:27:34 UTC


README

PDF Decrypter 是一个独立的 PHP 库,允许快速方便地对 PDF 文件进行解密并永久移除密码。

版本状态

这个库目前处于测试阶段。这意味着它正在进行测试,并且一些功能可能尚未完全支持。以下是限制和注意事项的列表

  • 除 FlateDecode 过滤器之外的其他流过滤器尚不支持。
  • 除 PNG Up 算法之外的其他预测算法尚不支持。
  • 线性文件的不支持提示表,因此解密后文件不再线性化。

系统要求

  • PHP 版本 8.1 或更高

安装

使用以下命令安装最新版本

composer require abcde1410/pdfdecrypter

使用方法

Use Abcde1410\PDFDecrypter\PDFDecrypter;

在某些情况下,此库可能会抛出 PDFDecrypterException。建议在使用时将其放在 try-catch 块中以优雅地处理这些异常。

  1. 要从文件设置加密文档的内容
$decrypter = new PDFDecrypter('path/to/file.pdf');

或者

$decrypter = new PDFDecrypter();
$decrypter->openFile('path/to/file.pdf');
  1. 如果您想设置已加载到内存中的加密文档的内容,请使用 setDocumentContent() 方法
$decrypter = new PDFDecrypter();
$decrypter->setDocumentContent($encryptedContent);
  1. 设置加密文档的认证密码
$decrypter->setPassword('document_password');
  1. 要验证提供的密码的正确性,请使用 verifyPassword() 方法。如果您确信提供的密码是正确的,可以省略此步骤。如果密码正确,方法返回 true,否则返回 false。
if ($decrypter->verifyPassword() === true) {
    // password is correct
}
else {
    // password is incorrect
}
  1. 您可以通过使用 get() 方法获取、显示或下载解密后的文件。要获取解密结果为纯文本,请使用 get() 方法
$decryptedFile = $decrypter->get();

要使用 show() 方法在浏览器中显示解密后的文件

$decrypter->show();

要使用 download() 方法下载解密后的文件

$decrypter->download();

许可证

此库采用 MIT 许可证