PHP library to encrypt data for PDF
Please consider supporting this project by making a donation via PayPal
- category Library
- package \Com\Tecnick\Pdf\Encrypt
- author Nicola Asuni [email protected]
- copyright 2011-2024 Nicola Asuni - Tecnick.com LTD
- license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
- link https://github.com/tecnickcom/tc-lib-pdf-encrypt
- SRC DOC https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt
PHP library to encrypt data for PDF.
The initial source code has been derived from TCPDF.
When using OpenSSL 3 some legacy providers are disabled by default. This will trigger the following error when executing the test:
error:0308010C:digital envelope routines::unsupported
Legacy provider can be enabled by followign the instructions at: https://wiki.openssl.org/index.php/OpenSSL_3.0#Providers
sudo nano /etc/ssl/openssl.cnf
openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
default = default_sect
legacy = legacy_sect
[default_sect]
activate = 1
[legacy_sect]
activate = 1
An alternative OpenSSL configuration file is provided on and set by default in the Makefile. To overrride the custom OpenSSL configuration file set the following environment variable:
export OPENSSL_CONF=/etc/ssl/openssl.cnf
This library requires the openssl php extension.
First, you need to install all development dependencies using Composer:
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
This project include a Makefile that allows you to test and build the project with simple commands. To see all available options:
make help
To install all the development dependencies:
make deps
Before committing the code, please check if it passes all tests using
make qa
All artifacts are generated in the target directory.
Examples are located in the example
directory.
Start a development server (requires PHP 8.0+) using the command:
make server
and point your browser to http://localhost:8000/index.php
Create a composer.json in your projects root-directory:
{
"require": {
"tecnickcom/tc-lib-pdf-encrypt": "^2.0"
}
}
Or add to an existing project with:
composer require tecnickcom/tc-lib-pdf-encrypt ^2.0
This library is mainly intended to be used and included in other PHP projects using Composer.
However, since some production environments dictates the installation of any application as RPM or DEB packages,
this library includes make targets for building these packages (make rpm
and make deb
).
The packages are generated under the target
directory.
When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader:
require_once ('/usr/share/php/Com/Tecnick/Pdf/Encrypt/autoload.php');
- Nicola Asuni [email protected]