mpdf ignoring javascript

Wawan Brutalx picture Wawan Brutalx · Dec 12, 2012 · Viewed 11k times · Source

I have a question here..

I have used buffering to get the pdf files using mpdf..

but I got a little confused here..

I have some javascript on the page that I was buffering.. but the generated content from javascript is not getting converted into pdf..

let me get this straight..

lets say I have this element

<div id='text'></div>

and on my page i have a javascript code to add text to that div.. and the results is...

[open page via browser]

<div id='text'>TEXT I ADDED USING JAVASCRIPT</div>

but when i convert it to pdf...

<div id='text'></div> (I DIDNT GET THAT TEXT)

This is the script that is used.. template.php

ob_start();

// content of page (included inline javascript code)

$yourfile = ob_get_content();
$_SESSION[forms] = $yourfile;
echo $yourfile;

convert.php

session_start();
include("MPDF54/mpdf.php");

$mpdf=new mPDF('c','A4','','' , 0 , 0 , 0 , 0 , 0 , 0); 

$mpdf->SetDisplayMode('fullpage');

$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list

$mpdf->WriteHTML($_SESSION[forms]);

$mpdf->Output();

Anybody can help me with this???

Answer

Maulik Vora picture Maulik Vora · Feb 26, 2013

mpdf supports basic javascript.

PDF readers understands basic javascript functions.

like print(); you can add it using SetJS() function of mpdf library.

include("MPDF54/mpdf.php");

$mpdf=new mPDF('c','A4','','' , 0 , 0 , 0 , 0 , 0 , 0); 

$mpdf->SetDisplayMode('fullpage');

$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list

$mpdf->WriteHTML($_SESSION[forms]);

$mpdf->SetJS('print();')  //JS code with <script></script> tags.

$mpdf->Output();