2
votes

I am using TCPDF to generate the PDF. I have two files.The contents of the first file are the invoice contents (table, photo, etc..../without code TCPDF) The contents of the second file are the following code(Coded by my colleague).

$_factorUrl = PathAllocator::getBaseUrlByPath(__FILE__)."modules/printer/views_pdf/".$billName.".php?order_id=".$orderId;
ob_start();
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
//Before Write
// set some language dependent data:
$lg = Array();
$lg['a_meta_charset'] = 'UTF-8';
$lg['a_meta_dir'] = 'rtl';
$lg['a_meta_language'] = 'fa';
$lg['w_page'] = 'page';

// set some language-dependent strings (optional)
$pdf->setLanguageArray($lg);

//After Write
$pdf->setRTL(true);
// set font
$pdf->SetFont('dejavusans', '', 12);

// add a page
$pdf->AddPage();
// Persian content
$pdf->WriteHTML(execute($_factorUrl), true, 0, true, 0);

//Close and output PDF document
//$pdf->Output("factor.pdf");
ob_end_clean();
$pdfFileName = $billName."-".$orderId.md5(rand(1,1000).microtime().UserAuth::getCustomerId().$billName.$orderId);
$_fullFilePath = $sourcePath."modules/printer/dl/".$pdfFileName.".pdf";
$pdf->Output($_fullFilePath, 'FI');
header("location: ".PathAllocator::getBaseUrlByPath(__FILE__)."modules/printer/dl/".$pdfFileName.".pdf");

Now I have the output(second image), But no style is applied, the tables do not look good and ... when I add any tcpdf statement to first file, I have no output. for example I add to the first file :

<?php
$html = '<h1>Example of HTML text flow</h1>';
 ?>
first image is Invoice appearance on web page

enter image description here

second image is Invoice pdf enter image description here

1
please try to avoid using any language except English in order to make your question readable for a vast majority of the community - Serhii PovĂ­senko

1 Answers

0
votes

you have to use tcpdf image for background image https://tcpdf.org/examples/example_009/

and you need to use tcpdf table https://tcpdf.org/examples/example_045/