mpdf игнорирует javascript

У меня есть вопрос здесь.

я бы использовал буферизацию, чтобы получить pdf-файлы, используя mpdf ..

но я немного запутался здесь.

У меня есть javascript на странице, что я был буферизирован. но генерировать контент из javascript не конвертируется в pdf.

позвольте мне понять это прямо.

скажем, у меня этот элемент

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

и на моей странице у меня есть код javascript для добавления текста в этот div .. и результаты …

[открыть страницу через браузер]

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

но когда я конвертирую его в pdf …

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

Это скрипт используется .. 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(); в 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(); 

Любое тело может помочь мне с этим ???

mpdf поддерживает базовый javascript.

Читатели PDF понимают основные функции javascript.

например print(); вы можете добавить его с помощью функции SetJS() библиотеки mpdf.

 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(); в 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(); 

PHP * Библиотеки PDF (tcpdf, fpdf, mpdf и т. Д.) Не могут запускать javascript-код, потому что для этого потребуются возможности интерпретатора javascript и браузера, или если он поддерживает javascript, он не будет работать так, как вы привыкли использовать его в программирование на стороне клиента. Наряду с этим, CSS и интерпретация разметки также очень бедны.

Однако, если вы ищете альтернативы, способные отображать javascript и css, как обычный браузер, я предлагаю wkhtmltopdf .

wkhtmltopdf – утилита оболочки для преобразования html в pdf с использованием механизма рендеринга webkit и qt. Он запускается как консольная программа с параметрами, определяющими, что делать, и имеет множество опций. В принципе, вы можете сказать, чтобы загрузить страницу, подождите 5 секунд, чтобы выполнить javascript, затем создайте pdf. Доступны версии linux и windows, хотя для Linux требуется установка библиотеки X11.

Я уверен, что есть другие варианты, но я использую wkhtmltopdf в течение многих лет, и он создает PDF-файл, выглядящий точно так же, как веб-страница будет выглядеть в браузерах Chrome или Safari, а также выполнение javascript отлично работает.