lpuissantberger / fpdi-protection
There is no license information available for the latest version (1.1.2) of this package.
Composer version of Setasign FPDI-Protection
1.1.2
2018-04-13 13:41 UTC
Requires
- php: >=5.3.0
- setasign/fpdi: ^1.6
This package is not auto-updated.
Last update: 2024-05-19 02:53:30 UTC
README
Composer version of Setasign FPDI-Protection and FPDF Protection script
This script allows to protect the PDF, that is to say prevent people from copying its content, print it or modify it.
Install
composer require lpuissantberger/fpdi-protection
USAGE
SetProtection([array permissions [, string user_pass [, string owner_pass]]])
- permissions: the set of permissions. Empty by default (only viewing is allowed).
- user_pass: user password. Empty by default.
- owner_pass: owner password. If not specified, a random value is used.
Permissions
The permission array contains values taken from the following list:
- FPDI_Protection::CAN_PRINT: print the document
- FPDI_Protection::CAN_MODIFY: modify it (except for annotations and forms)
- FPDI_Protection::CAN_COPY: copy text and images to the clipboard
- FPDI_Protection::CAN_ANNOT_FORMS: add annotations and forms
Example
$src_file = 'source.pdf'; $dest_file = 'protected.pdf'; $pdf = new \FPDI_Protection(); $pagecount = $pdf->setSourceFile($src_file); for ($loop = 1; $loop <= $pagecount; $loop++) { $tplidx = $pdf->importPage($loop); $pdf->addPage(); $pdf->useTemplate($tplidx); } $pdf->SetProtection(\FPDI_Protection::FULL_PERMISSIONS); //$pdf->SetProtection(\FPDI_Protection::FULL_PERMISSIONS, '123456'); //$pdf->SetProtection(\FPDI_Protection::FULL_PERMISSIONS, '123456', 'ABCDEF'); $pdf->Output($dest_file, 'F');
IMPORTANT
Some PDF readers like Firefox ignore the protection settings, which strongly reduces the usefulness of this script.