Создание pdf с помощью TCPDF

Главные вкладки

Аватар пользователя Godric Godric 17 февраля 2015 в 0:34

Помогите! Кто знает, подскажите. В модуле генерируется html-код, пусть он находится в переменной $output, как его используя библиотеку tcpdf вывести в pdf-файл, включая все стили. Хотел сделать через print, но там выводит только часть страницы.

Комментарии

Аватар пользователя sg85 sg85 13 апреля 2016 в 22:02
1

Примеры http://www.tcpdf.org/examples.php
Простейший подходящий этот http://www.tcpdf.org/examples/example_021.phps

При этом, если выводится только часть страницы - скорее всего не отрегулированы отступы, но на самом деле именно эта библиотека наиболее глючно интерпритирует HTML(очень многое не поддерживается), иногда верстку можно подогнать под него, иногда нет, DOMPdf именно с HTML работает несколько лучше, но и там проблем не мало(например, если таблица целиком не влазит на страницу, то сервер сперва долго тупит, потом вовсе дохнет, копаться в причинах было лень)

Для друпала более интересен этот https://www.drupal.org/project/pdf_using_mpdf использование примерно так pdf_using_mpdf_api($output);, со средней версткой справляется

в общем, все эти HTML2PDF обычно справляются только с простой версткой и для себя решил, что проще писать классы для генерации PDF - выходит куда продуктивнее и всегда работает именно так, как требуется.

Ну и еще, для друпала есть модуль TCPDF, в этом модуле есть пример, как это делается

Аватар пользователя Sadchenko Sadchenko 13 апреля 2016 в 22:13

sg85 wrote:


Спасибо за наводку. Поюзаю. В целом стоит задача при сохранении ноды, создавать PDF с таблицой полей этой ноды и отправлять его прикрепленным файлом на определенный ящик. Не в курсе с помощью каких модулей можно данное релизовать. Rules и Mime Mail то понятно, возможно пригодится contact_attach, но как правильно все это скомпоновать?

Аватар пользователя sg85 sg85 27 апреля 2016 в 12:55

При создании/редактировании ноды, если нода проходит по условиям(например, по типу, статусу и так далее), создавать PDF и отправлять через mime mail(умеет отправлять файлы), на мой взгляд, проще и быстрее сделать это без rules через hook_node_update, hook_node_insert, ибо рулс один черт придется "научить" отправлять вложенный PDF, а contact_attach тут лишний.

Аватар пользователя PVasili PVasili 22 июня 2020 в 13:04

Sadchenko wrote: $output, как его используя библиотеку tcpdf вывести в pdf-файл, включая все стили.

 

<?php  
$pdf 
= new MYPDF(PDF_PAGE_ORIENTATION, ......);
…рисуем…
$pdf
->Output('имя_файла.pdf''I');    // I - отправить файл в браузер (по умолчанию)
?>

sg85 wrote: наиболее глючно интерпритирует HTML(очень многое не поддерживается),

Очень глупая идея выводить HTML в PDF, php библиотека, даже самая крутая, не сможет построить и эмулировать корректно весь вывод HTML+CSS. Браузеры и те… не всегда и все, а вы что-то от библиотеки хотите Smile

MYPDF хоть и старая, но одна из лучших библиотек.Родная документация там не очень, но питонисты все классы хорошо расписаны (я от туда для себя перевёл).