Для генерации pdf использовалась библиотека dompdf, скачать его можно через github, библиотека требует PHP >= 5.0 с активированными расширениями mbstring и DOM. Также она требует несколько шрифтов, которые обычно доступны на большинстве компьютеров.
Установка библиотеки:
git clone https://github.com/dompdf/dompdf.git git submodule init git submodule update
Пример для генерации pdf:
<?ob_start();?> <?='text here'?> <?$html = ob_get_clean();?> <?set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER["DOCUMENT_ROOT"]."/include/dompdf"); require_once "dompdf_config.inc.php"; $dompdf = new DOMPDF();?> <?$dompdf->load_html( $html ); $dompdf->render(); $dompdf->stream("test.pdf", array("Attachment" => 0));?>
Для поддержки кириллицы необходимо скопировать Arial.ttf (взять можно в папке /windows/fonts/) в корневую директорию dompdf, и выполнить скрипт load_fonts.php через консоль с параметрами:
php load_fonts.php Arial Arial.ttf
Для поддержки подключаемых css необходимо указать корневую директорию:
$dompdf->set_base_path($_SERVER["DOCUMENT_ROOT"].'/bitrix/templates/print/');
Важно! Для bitrix’a при выводе компонентов, необходимо отключить режим ajax, указав в компоненте параметр AJAX_MODE => «N», иначе pdf не будет генерироваться.