Skip to content

Latest commit

 

History

History
81 lines (61 loc) · 2.35 KB

README.md

File metadata and controls

81 lines (61 loc) · 2.35 KB

PDFDecrypter

PDF Decrypter is a standalone PHP library allowing quick and convenient decryption and permanently removing password from PDF files.

Version Status

This library is currently in the beta phase. This means that it is undergoing testing, and some features may not be fully supported yet. Below is a list of limitations and considerations:

  • Stream filters other than the FlateDecode filter are not yet supported.
  • Predictor algorithms other than the PNG Up Algorithm are not yet supported.
  • Hint tables for linearized files are not yet supported, so the file is no longer linearized after decryption.

System Requirements

  • PHP version 8.1 or later

Installation

Install the latest version with:

composer require abcde1410/pdfdecrypter

Usage

Use Abcde1410\PDFDecrypter\PDFDecrypter;

This library may throw PDFDecrypterException in certain situations. It is recommended to use it within a try-catch block to handle these exceptions gracefully.

  1. To set the content of the encrypted document from the file:
$decrypter = new PDFDecrypter('path/to/file.pdf');

OR

$decrypter = new PDFDecrypter();
$decrypter->openFile('path/to/file.pdf');
  1. If you would like to set the content of the encrypted document that has been previously loaded into memory, use the setDocumentContent() method:
$decrypter = new PDFDecrypter();
$decrypter->setDocumentContent($encryptedContent);
  1. Set encrypted document authentication password:
$decrypter->setPassword('document_password');
  1. To verify the correctness of the provided password, use the verifyPassword() method. You can omit this step if you are confident that the provided password is correct. The method returns true if the password is correct and false otherwise.
if ($decrypter->verifyPassword() === true) {
    // password is correct
}
else {
    // password is incorrect
}
  1. You can get, show or download the decrypted file. To get decryption result as a plaintext use get() method:
$decryptedFile = $decrypter->get();

To show the decrypted file in the browser use show() method:

$decrypter->show();

To download the decrypted file use download() method:

$decrypter->download();

License

This library is under the MIT License.