* @since 16 march 2007 */ class BasesfTCPDFActions extends sfActions { /** * Hello world test */ public function executeTest() { sfLoader::loadHelpers('Helper'); sfLoader::loadHelpers('Partial'); sfLoader::loadHelpers('stPartial'); sfLoader::loadHelpers('stAdminGenerator'); // pdf object $pdf = new sfTCPDF(); // settings $pdf->SetFont("FreeSerif", "", 8); $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); //$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); // init pdf doc $pdf->AliasNbPages(); $pdf->AddPage(); $content = st_get_component('stInvoiceBackend','viewContent',array('id'=>40, 'type'=>'proforma')); $pdf->writeHTML($content, true, 0); // output $pdf->Output(); return sfView::NONE; } /** * Full test * * It's the test that is bundled in /tcpdf/test_unicode.php */ public function executeTest2() { require_once(sfConfig::get('sf_tcpdf_dir').'/config/lang/eng.php'); $doc_title = "test title"; $doc_subject = "test description"; $doc_keywords = "test keywords"; $htmlcontent = "< € € € & è è © >

heading 1

heading 2

heading 3

heading 4

heading 5
heading 6
ordered list:
  1. bold text
  2. italic text
  3. underlined text
  4. link to http://www.tecnick.com
  5. test break
    second line
    third line
  6. font + 3
  7. small text
  8. normal subscript superscript

  9. table:
    #AB
    1A1B1
    2A2 € € € & è è B2
    3A3B3

    image:
    \"test"; //create new PDF document (document units are set by default to millimeters) $pdf = new sfTCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true); // set document information $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor(PDF_AUTHOR); $pdf->SetTitle($doc_title); $pdf->SetSubject($doc_subject); $pdf->SetKeywords($doc_keywords); // $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); //set margins $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); //set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set image scale factor $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); $pdf->setLanguageArray($l); //set language items //initialize document $pdf->AliasNbPages(); $pdf->AddPage(); // set barcode $pdf->SetBarcode(date("Y-m-d H:i:s", time())); // output some HTML code $pdf->writeHTML($htmlcontent, true, 0); // output two html columns $first_column_width = 80; $current_y_position = $pdf->getY(); $pdf->writeHTMLCell($first_column_width, 0, 0, $current_y_position, "hello", 0, 0, 0); $pdf->writeHTMLCell(0, 0, $first_column_width, $current_y_position, "world", 0, 1, 0); // output some content $pdf->Cell(0,10,"TEST Bold-Italic Cell",1,1,'C'); // output some UTF-8 test content $pdf->AddPage(); $pdf->SetFont("FreeSerif", "", 12); $utf8text = file_get_contents(sfConfig::get('sf_tcpdf_dir'). "utf8test.txt", false); // get utf-8 text form file $pdf->SetFillColor(230, 240, 255, true); $pdf->Write(5,$utf8text, '', 1); // remove page header/footer $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); // Two HTML columns test $pdf->AddPage(); $right_column = "right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column"; $left_column = "left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column"; $first_column_width = 80; $second_column_width = 80; $column_space = 20; $current_y_position = $pdf->getY(); $pdf->writeHTMLCell($first_column_width, 0, 0, 0, $left_column, 1, 0, 0); $pdf->Cell(0); $pdf->writeHTMLCell($second_column_width, 0, $first_column_width+$column_space, $current_y_position, $right_column, 0, 0, 0); // add page header/footer $pdf->setPrintHeader(true); $pdf->setPrintFooter(true); $pdf->AddPage(); // Multicell test $pdf->MultiCell(40, 5, "A test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0); $pdf->MultiCell(40, 5, "B test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0); $pdf->MultiCell(40, 5, "C test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 0); $pdf->MultiCell(40, 5, "D test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0, 2); $pdf->MultiCell(40, 5, "F test multicell line 1\ntest multicell line 2\ntest multicell line 3", 1, 'J', 0); //Close and output PDF document $pdf->Output(); return sfView::NONE; } }