Skip to content

A FPDI compatible and enhanced version of the FPDF_Protection script.

License

Notifications You must be signed in to change notification settings

Setasign/fpdi-protection

Repository files navigation

FpdiProtection

Latest Stable Version Total Downloads Latest Unstable Version License

A FPDI 2 compatible and enhanced version of the FPDF_Protection script.

This version requires and uses OpenSSL functions instead of Mcrypt or a user land implementation of RC4.

RC4-40bits and RC4-128bits encryption are supported.

Installation with Composer

{
    "require": {
        "setasign/fpdi-protection": "^2.0"
    }
}

Manual Installation

If you do not use composer, just require the autoload.php in the /src folder:

require_once('src/autoload.php');

If you have a PSR-4 autoloader implemented, just register the src path as follows:

$loader = new \Example\Psr4AutoloaderClass;
$loader->register();
$loader->addNamespace('setasign\FpdiProtection', 'path/to/src/');

Don't forget to install FPDI and FPDF, too!

Example

This class offers one public method, which allows you to set the protection of the resulting PDF document. All other code is identically to FPDI or FPDF.

If you pass null or an empty string as the owner password the method will create a random owner password. The return value of this method is the owner password.

<?php
use setasign\FpdiProtection\FpdiProtection;

// setup the autoload function
require_once('vendor/autoload.php');

$pdf = new FpdiProtection();
$ownerPassword = $pdf->setProtection(
    FpdiProtection::PERM_PRINT | FpdiProtection::PERM_COPY,
    'the user password',
    'the owner password'
);

// ...

About

A FPDI compatible and enhanced version of the FPDF_Protection script.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages