HTML в PDF очень большие файлы PHP - PullRequest
2 голосов
/ 20 октября 2010

Привет, я пытаюсь создать PDF-файлы в php, используя dompdf-0.5.1. Я создаю эти файлы из HTML. У меня большое количество данных, каждый раз, когда я пытаюсь создать большой файл, он застревает, что приводит к ошибкам.любая библиотека, которую я могу использовать для больших файлов pdf из html, также она работает для маленьких и обычных файлов благодаря

Неустранимая ошибка: необработанное исключение 'DOMPDF_Internal_Exception' с сообщением 'Кадр не найден в карте ячеек' в E:\ AppServ \ www \ test \ include \ cellmap.cls.php: 237 Трассировка стека: # 0 E: \ AppServ \ www \ test \ include \ table_cell_frame_reflower.cls.php (66): Cellmap-> get_frame_position (Object (Table_Cell_Frame_Decorator)) # 1 E: \ AppServ \ www \ test \ include \ frame_decorator.cls.php (387): Table_Cell_Frame_Reflower-> reflow () # 2 E: \ AppServ \ www \ test \ include \ table_row_frame_reflower.cls.php (70): Frame_Decorator-> reflow () # 3 E: \ AppServ \ www \ test \ include \ frame_decorator.cls.php (387): Table_Row_Frame_Reflower-> reflow () # 4 E: \ AppServ \ www \ test \ include \ table_frame_reflower.cls.php (468): Frame_Decorator-> reflow () # 5 E: \ AppServ \ www \ test \ include \ frame_decorator.cls.php (387): Table_Frame_Reflower-> reflow () # 6 E: \ AppServ \ www \ test \ include \ block_frame_reflower.cls.php (408): Frame_Decorator-> reflow () # 7 E: \ AppServ \ www \ test \ include \ frame_decorator.cls.php (387): Block_Frame_Reflower-> reflow () # 8 E: \ AppServ \ www \ test\ include \ table_cell_frame_reflower.cls.php (115): Frame_Deco в E: \ AppServ \ www \ test \ include \ cellmap.cls.php в строке 237

Ответы [ 3 ]

3 голосов
/ 20 октября 2010

Я бы рекомендовал использовать Webkit для PDF или PhantomJS

2 голосов
/ 28 ноября 2013

Просто что-то трясло головой с DOMpdf и нашел несколько исправлений по этому поводу, поэтому подумал, что поделюсь.

Моя ошибка dompdf Frame not found in cellmap может быть исправлена ​​путем редактирования includes/cellmap.cls.php и комментируя каждый случай:

throw new DOMPDF_Exception("Frame not found in cellmap");

Строки 212, 231, 257, 274

Подставляя:

return false;

Это позволило мне увидеть, где мойдокумент PDF с несколькими страницами на самом деле был ошибочным.Я сузил его до большого изображения, охватывающего более одной страницы (пользовательский cms ввод конечно!), Поэтому я поменял единственное изображение на то же самое, нарезал на 2 части, и все исправлено.

У меня естьтакже прочитайте, что эта ошибка может быть связана с охватом div более одной страницы, но в 0.6.0 beta 3 это не так, как любое «исправление» окружения, которое не имело никакого значения, даже если у меня есть несколько охватывающих страниц div.Исправления, предполагающие замену всех элементов div тегами 'p' или 'span'.

Так что теперь DOMpdf без проблем рендерит CMS сгенерированных страниц и надеется, что это поможет кому-то по пути,

0 голосов
/ 24 февраля 2016

Я сталкивался с той же проблемой в течение нескольких дней, в огромной таблице с rowspan и colspan, но без border-collapse: collapse (существует известная проблема, связанная с этим свойством).

Я решил это, добавив это к стилю моего элемента таблицы:

    table
    {
       border-collapse:unset;   
    }

Надеюсь, это поможет!

...