δημιουργία pdf με php : χρήσιμες οδηγίες Nikos Balatsoukas Αυγούστου 29, 2013 php Edit Ένα από τα ζητήματα που απασχολούν τους προγραμματιστές php είναι η δημιουργία pdf με php με τον απλούστερο τρόπο.
Ενα από τα προβλήματα στη δημιουργία pdf με php είναι η υποστήριξη της Ελληνικής γλώσσας. Για τους λόγους αυτούς στη δημιουργία pdf με php χρησιμοποιούνται έτοιμες βιβλιοθήκες php για τη δημιουργία αρχείων pdf. Το TCPDF είναι μια βιβλιοθήκη ανοιχτού κώδικα η οποία ξεκίνησε το 2002. Το TCPDF είναι ένα από τα πιο ενεργά Open Source projects παγκοσμίως. Έχει ημερήσια κίνηση κάποιων εκατομμυρίων χρηστών, και χρησιμοποιείται σε χιλιάδες CMS (Content Management Systems) και εφαρμογές web (Web applications). Σε αυτό το παράδειγμα θα δούμε τον τρόπο με τον οποίο μπορούμε να φτιάξουμε ένα απλό αρχείο pdf, το οποίο να περιλαμβάνει κεφαλίδα (header) και υποσέλιδο (footer)
δημιουργία pdf με php Καταρχήν, πρέπει να έχουμε κατεβάσει και τοποθετήσει στο server μας τα αρχεία της βιβλιοθήκης. Για να συμπεριλάβουμε στον κώδικά μας τα αρχεία της βιβλιοθήκης, πρέπει να τοποθετήσουμε την παρακάτω εντολή:
1
require_once ('tcpdf_include.php');
Στη συνέχεια δημιουργούμε το νέο έγγραφο pdf ως εξής:
1
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false
Στη συνέχεια ορίζουμε τις πληροφορίες του εγγράφου με τις παρακάτω εντολές:
1 2 3 4 5
$pdf $pdf $pdf $pdf $pdf
-> -> -> -> ->
SetCreator (PDF_CREATOR); SetAuthor ('Nicola Asuni'); SetTitle ('TCPDF Example 001'); SetSubject ('TCPDF Tutorial'); SetKeywords ('TCPDF, PDF, example, test, guide');
Στη συνέχεια ορίζουμε τα προεπιλεγμένα δεδομένα που θα παρουσιάζονται στην κεφαλίδα του εγγράφου (default header data)
1 2
$pdf -> SetHeaderData (PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001' $pdf -> setFooterData (array(0,64,0), array(0,64,128));
Μετά δηλώνουμε τις γραμματοσειρές της κεφαλίδας και του υποσέλιδου (header and footer fonts):
1 2
$pdf -> setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf -> setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
Στη συνέχεια δηλώνουμε την προεπιλεγμένη monospaced γραμματοσειρά (default monospaced font):
1
$pdf -> SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
Μετά δηλώνουμε τα περιθώρια:
1 2 3
$pdf -> SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf -> SetHeaderMargin(PDF_MARGIN_HEADER); $pdf -> SetFooterMargin(PDF_MARGIN_FOOTER):
Μετά δηλώνουμε την αυτόματη αλλαγή σελίδας (auto page breaks):
1
$pdf -> SetAutoPageBreak (TRUE, PDF_MARGIN_BOTTOM);
Ακολουθεί δήλωση του ποσοστού κλιμάκωσης εικόνας (image scale factor) :
1
$pdf -> setImageScale (PDF_IMAGE_SCALE_RATIO);
Υπάρχει η δυνατότητα να δηλώσουμε και τις επόμενες προαιρετικές παραμέτρους:
1 2
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { require_once(dirname(__FILE__).'/lang/eng.php'); $pdf -> setLanguageArray($l);
3 4
}
Αφού δηλώσουμε τις προηγούμενες παραμέτρους, που είναι οι προεπιλεγμένες τιμές για τη δημιουργία pdf με php, στη συνέχεια ξεκινάμε τη δημιουργία της σελίδας: Καταρχήν ορίζουμε τη γραμματοσειρά:
1
$pdf -> SetFont ('dejavusans', '', 14, '', true);
Μετά προσθέτουμε μια σελίδα:
1
$pdf -> AddPage ();
Μετά ορίζουμε κάποια εφέ σκιάς κειμένου:
1
$pdf -> setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>
Στη συνέχεια προσθέτουμε περιεχόμενο που θα τυπωθεί στο έγγραφο:
1$html = <<<EOD 2<h1> Welcome to <a href="http://www.tcpdf.org" style="text-decoration:none;background-colo 3style="color:white;"> PDF </span> &nbsp; </a> ! </h1> <i> This is the first example of TCPDF library. </i> 4<p> This text is printed using the <i> writeHTMLCell() </i> method but you can also use: 5<p> Please check the source code documentation and other examples for further information 6<p style="color:#CC0000;"> TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE <a href 7EOD; Στη συνέχεια τυπώνουμε το περιεχόμενο στο έγγραφο:
1
$pdf -> writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
Και τέλος, κλείνουμε το έγγραφο pdf και το στέλνουμε στην έξοδο:
1
$pdf->Output('example_001.pdf', 'I');
Σε αυτό το άρθρο είδαμε πως να κάνουμε δημιουργία pdf με php .
TCPDF δημιουργία pdf δημιουργία pdf με php έτοιμες βιβλιοθήκες php προγραμματιστές php
Πηγή: http://www.infopolis.gr/dimiourgia-pdf-me-php/