Проблема со стилями при печати в pdf классом tcpdf

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

Аватар пользователя Leonyl Leonyl 6 мая 2010 в 11:56

TCPDF – прекрасный класс, хорошо работает с кирилицей, прекрасно печатает на принтер.
Вот только в pdf почему-то не подхватывает стили на странице.

Пример.1
поэзия: на странице все строки по центру
причём открывается <p> со стилем выравнивания по центру, затем идут <br /> строка<br /> строка<br /> строка</p>
И вот бага: в pdf-файле по центру выравнена только 1-ая строка. Все остальные выравнены по левому краю. И так – до следующего <p>,
после которого картина повторяется.

Пример.2
На странице с обычным текстом употреблён text-indent, т.е. красная строка, как в книжках.
Каждый параграф начинается с этой красной строки.
И вот бага: в pdf-файле ни один из абзацев не начинается с красной строки.

Итого: стили страницы модулем tcpdf лично у меня не подхватываются.
Ставить один стиль на все страницы – это ж не школа с требованием единой униформы для всех школьников.
Ставить шаблон для каждой страницы – думаю, только из-за этой проблемы не стоит.

Проверено в версиях tcpdf: 4.8.038, 5.0.002

Комментарии

Аватар пользователя Leagnus@drupal.org Leagnus@drupal.org 9 мая 2010 в 20:41

Копать нужно не tcpdf, а модуль Printer, e-mail and PDF versions.

Формат содержимого фильтруется/чистится в файле print_pdf.pages.inc
функцией theme_print_pdf_tcpdf_content.

непонятно, зачем удалять параграфы притом, что, например, стилёвку затем пускать в теге BR

<?php
// Since TCPDF's writeHTML is so bad with <p>, do everything possible to make it look nice
  
$matches[1] = preg_replace('!<(?:p(|\s+.*?)/?|/p)>!i''<br$1 />'$matches[1]);
?>

т.е. <p style="text-align:center;"> превратится в <br style="text-align:center;" />

Аватар пользователя acoder acoder 2 августа 2011 в 7:22

Тоже имею проблему со стилями. У меня не работают padding, margin. Причем даже если их указать тупо в коде

<div style="padding:10px">text</div>

все равно не работают. Пробовал копаться к функции по информации в комментарии, но реакции никакой. Помогите пожалуйста. Любая информация приветствуется.

Аватар пользователя acoder acoder 2 августа 2011 в 11:57

Пробовал еще mPDF. Там также проблемы с некоторыми стилями. Проблема именно в конвертере, а не модуле друпал. Вот инфа по теме http://stackoverflow.com/questions/3404095/problem-with-tcpdf-and-css

Для себя решение нашел следующее - использую таблицы и padding. См. ссылку.