0

I want to generate a PDF document from a static HTML, which made by XSLT 2.0 transformation.

        function ProducePDF($pdf_name, $html_page){
         // 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('Tony');
        $pdf->SetTitle('A document');
        $pdf->SetSubject('Information');
        $pdf->SetKeywords('TCPDF, PDF');

        // set default header data
        $pdf->SetHeaderData('', PDF_HEADER_LOGO_WIDTH,'','');

        // 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 (optional)
        if (file_exists(dirname(__FILE__).'/lang/eng.php')) {
        require_once(dirname(__FILE__).'/lang/eng.php');
        $pdf->setLanguageArray($l);}

        // set font
        $pdf->SetFont('helvetica', '', 14);

        // add a page
        $pdf->AddPage();
        $html = file_get_contents($html_page);
        // output the HTML content
        $pdf->writeHTML($html, true, false, true, false, '');
        // reset pointer to the last page
        $pdf->lastPage();
       //Close and output PDF document
       $pdf->Output($pdf_name, 'FI');}

The result pdf document is here

The html source document

As you can see, TCPDF generates some garbage from JS of source html document at the last page of the generated PDF. Why it doing so? Is there any kind of workaround for this issue?

Twissell
  • 111
  • 1
  • 10
  • I think you need to use $pdf->IncludeJS($js); to include js see [here](http://www.tcpdf.org/examples/example_053.phps) – Jainil Jun 07 '16 at 06:57
  • It sounds truly, but I guess that engine just need a "full page", then it takes garbage from source html. Anyway, thanks for the response. – Twissell Jun 07 '16 at 07:12

1 Answers1

0

Since there is any answer to my question, I decide to use answer from this question as a workaround for my problem.

I simply cut the unnecessary block from the markup with that regular expression and all works!

Community
  • 1
  • 1
Twissell
  • 111
  • 1
  • 10