source: sipes/libraries/tcpdf/examples/example_016.php @ 307d09d

stableversion-3.0
Last change on this file since 307d09d was 307d09d, checked in by José Gregorio Puentes <jpuentes@…>, 8 años ago

se agregaron las librerias

  • Propiedad mode establecida a 100755
File size: 5.0 KB
Línea 
1<?php
2//============================================================+
3// File name   : example_016.php
4// Begin       : 2008-03-04
5// Last Update : 2010-10-19
6//
7// Description : Example 016 for TCPDF class
8//               Document Encryption / Security
9//
10// Author: Nicola Asuni
11//
12// (c) Copyright:
13//               Nicola Asuni
14//               Tecnick.com s.r.l.
15//               Via Della Pace, 11
16//               09044 Quartucciu (CA)
17//               ITALY
18//               www.tecnick.com
19//               info@tecnick.com
20//============================================================+
21
22/**
23 * Creates an example PDF TEST document using TCPDF
24 * @package com.tecnick.tcpdf
25 * @abstract TCPDF - Example: Document Encryption / Security
26 * @author Nicola Asuni
27 * @since 2008-03-04
28 */
29
30require_once('../config/lang/eng.php');
31require_once('../tcpdf.php');
32
33// create new PDF document
34$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
35
36
37// *** Set PDF protection (encryption) *********************
38
39/*
40  The permission array is composed of values taken from the following ones (specify the ones you want to block):
41        - print : Print the document;
42        - modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble';
43        - copy : Copy or otherwise extract text and graphics from the document;
44        - annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields);
45        - fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified;
46        - extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes);
47        - assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set;
48        - print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality.
49        - owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions.
50
51 If you don't set any password, the document will open as usual.
52 If you set a user password, the PDF viewer will ask for it before displaying the document.
53 The master (owner) password, if different from the user one, can be used to get full document access.
54
55 Possible encryption modes are:
56        0 = RSA 40 bit
57        1 = RSA 128 bit
58        2 = AES 128 bit
59        3 = AES 256 bit
60
61 NOTES:
62 - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt
63 - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12
64 - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes
65
66*/
67
68$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', $owner_pass=null, $mode=0, $pubkeys=null);
69
70// Example with public-key
71// To open the document you need to install the private key (tcpdf.p12) on the Acrobat Reader. The password is: 1234
72//$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', $owner_pass=null, $mode=1, $pubkeys=array(array('c' => 'file://../tcpdf.crt', 'p' => array('print'))));
73
74// *********************************************************
75
76
77// set document information
78$pdf->SetCreator(PDF_CREATOR);
79$pdf->SetAuthor('Nicola Asuni');
80$pdf->SetTitle('TCPDF Example 016');
81$pdf->SetSubject('TCPDF Tutorial');
82$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
83
84// set default header data
85$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 016', PDF_HEADER_STRING);
86
87// set header and footer fonts
88$pdf->setHeaderFont(Array('helvetica', '', PDF_FONT_SIZE_MAIN));
89$pdf->setFooterFont(Array('helvetica', '', PDF_FONT_SIZE_DATA));
90
91// set default monospaced font
92$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
93
94//set margins
95$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
96$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
97$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
98
99//set auto page breaks
100$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
101
102//set image scale factor
103$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
104
105//set some language-dependent strings
106$pdf->setLanguageArray($l);
107
108// ---------------------------------------------------------
109
110// set font
111$pdf->SetFont('times', '', 16);
112
113// add a page
114$pdf->AddPage();
115
116// set some text to print
117$txt = <<<EOD
118Encryption Example
119
120Consult the source code documentation for the SetProtection() method.
121EOD;
122
123// print a block of text using Write()
124$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
125
126
127// ---------------------------------------------------------
128
129//Close and output PDF document
130$pdf->Output('example_016.pdf', 'I');
131
132//============================================================+
133// END OF FILE
134//============================================================+
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.