Created
December 5, 2012 06:17
-
-
Save sagar-webonise/4212929 to your computer and use it in GitHub Desktop.
This helper is useful when using the TCPDF to generate pdfs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//============================================================+ | |
// File name : TcpdfHelper.php | |
// Created by : Sagar Sgirsath | |
// Email : sagar.shirsath2009@gmail.com | |
// Created On : 5 december 2012 | |
//============================================================+ | |
App::uses('AppHelper', 'View/Helper'); | |
App::import('Vendor', 'tcpdf/config/lang/eng'); | |
App::import('Vendor', 'tcpdf/tcpdf'); | |
class TcpdfHelper extends AppHelper { | |
public function init() { | |
// create new PDF document | |
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); | |
// set document information | |
$pdf->SetCreator(PDF_CREATOR); | |
$pdf->SetAuthor('Nicola Asuni'); | |
$pdf->SetTitle('TCPDF Example 006'); | |
$pdf->SetSubject('TCPDF Tutorial'); | |
$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); | |
// set default header data | |
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE . ' 006', PDF_HEADER_STRING); | |
// set header and footer fonts | |
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); | |
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); | |
// set default monospaced font | |
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); | |
//set margins | |
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); | |
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); | |
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); | |
//set auto page breaks | |
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); | |
//set image scale factor | |
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); | |
//set some language-dependent strings | |
// $pdf->setLanguageArray($l); | |
// --------------------------------------------------------- | |
// set font | |
$pdf->SetFont('dejavusans', '', 10); | |
// add a page | |
$pdf->AddPage(); | |
// writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='') | |
// writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true) | |
return $pdf; | |
} | |
public function add_html($pdf , $html) { | |
$pdf->writeHTML($html, true, false, true, false, ''); | |
$pdf->lastPage(); | |
return $pdf; | |
} | |
public function download_pdf($pdf){ | |
$pdf->Output('example_006.pdf', 'I'); | |
return $pdf; | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment