html в pdf очень большие файлы php

привет, я пытаюсь создать 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_fr ame_reflower.cls.php(115): Frame_Deco в E:\AppServ\www\test\include\cellmap.cls.php в строке 237


person Community    schedule 20.10.2010    source источник
comment
Было бы полезно иметь образец HTML, который вызывает проблему. Вы можете рассмотреть возможность обновления до версии 0.6.0 DOMPDF (в настоящее время находится в стадии бета-тестирования). Он решает ряд проблем, в том числе и эту.   -  person BrianS    schedule 20.10.2010


Ответы (3)


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

person Petah    schedule 20.10.2010
comment
+1 к этому выбору. Около года назад я попробовал все доступные бесплатные конвертеры PDF, и wkhtmltopdf работал лучше, чем любой другой. Обычно вы избегаете многих проблем и сумасшедших ошибок, используя его. - person Antony Harder; 28.11.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 сгенерированные страницы, и надеюсь, что это поможет кому-то на этом пути,

person Mike Wells    schedule 28.11.2013
comment
Спасибо за это. Долго ломаю голову с этой ошибкой. В моем случае это была ошибка PHP, вызванная изменением объектов на массивы в одном объекте. Отображение ошибки PHP не соответствует странице, отсюда и ошибка. Комментируя эти строки, я выясняю ошибку, которую в противном случае почти невозможно обнаружить. - person Adrian P.; 16.10.2015

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

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

    table
    {
       border-collapse:unset;   
    }

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

person Greenish    schedule 24.02.2016