Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


PHP library to encrypt data for PDF

Latest Stable Version Master Build Status Master Coverage Status License Total Downloads

Donate via PayPal Please consider supporting this project by making a donation via PayPal


PHP library to encrypt data for PDF.

The initial source code has been derived from TCPDF.

OpenSSL 3

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:

sudo nano /etc/ssl/openssl.cnf
   openssl_conf = openssl_init

   providers = provider_sect
   default = default_sect
   legacy = legacy_sect
   activate = 1
   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

Getting started

This library requires the openssl php extension.

First, you need to install all development dependencies using Composer:

$ curl -sS | 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

Running all tests

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 5.4) 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": "^1.6"

Or add to an existing project with:

composer require tecnickcom/tc-lib-pdf-encrypt ^1.6


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');

Developer(s) Contact