Разрыв страницы в Html2Pdf

Я в процессе создания динамического pdf-файла, который содержит данные около 10 000 пользователей, в целом приложение разрабатывается с использованием MySQL и PHP. Динамический контент настолько тяжелый, что мне сложно обрабатывать fpdf() . Поэтому я преобразовал мою выходную PHP-страницу в виде HTML-файла, используя ob_get_clean() . Теперь html-файл сгенерирован успешно, а также файл pdf. Но я хочу оставить разрыв страницы после данных каждого пользователя, то есть данные каждого пользователя должны начинаться на новой странице. Я не мог использовать HTML-теги, потому что в динамически сгенерированном HTML-файле все из тегов <html> и </html> . Пожалуйста, помогите мне, чтобы некоторые из них, как я делаю перерыв страницы в файле pdf после данных каждого пользователя … Спасибо заранее!

Я просто понял это после того, как у меня была такая же проблема. синтаксический анализатор, который они используют, поддерживает тег page-break-after, но html2pdf не работает.

Я думаю, что я работаю, выполнив следующие изменения в html2pdf.class:

вокруг линии 4174, первое, что внутри:

 protected function _tag_close_P($param){ 

должно быть:

  if($this->parsingCss->value['page-break-after'] == "always") $this->_setNewPage(); 

вокруг линии 2961, первое, что внутри:

 protected function _tag_close_DIV($param, $other='div'){ 

должно быть:

  if($this->parsingCss->value['page-break-after'] == "always") $this->_setNewPage(); 

Основываясь на работе macdabby (которая не работает). Но, благодаря ему, идея правильная.

Html2Pdf v4.03

Например, мы хотим проанализировать тег DIV:

html2pdf.class.php строка 2948:

 protected function _tag_close_DIV($param, $other='div') { if ($this->parsingCss->value['page-break-after'] == "always") $this->_setNewPage(null, '', null, $this->_defaultTop); $this->parsingCss->setPosition(); ... } 

parsingCss.class.php Строка 114:

 //add a new style declaration public function initStyle() { ... $this->value['page-break-after'] = null; } 

Строка 1024 добавляет новый обработчик к корпусу коммутатора:

 case 'page-break-after': $this->value[$nom] = $val; break; 

И затем для его работы ваше содержимое html должно содержать элемент break

  <div style="page-break-after:always; clear:both"></div> 

Следите за стилем, чувствительным к регистру, не уверен, что плагин обрабатывает его

html2pdf поддерживает тег страницы :

 protected function _tag_open_PAGE($param) {} 

на строке 2229. Вы можете видеть, какие атрибуты поддерживаются. Например, следующее создает одну страницу в альбомной ориентации и одну в портретном режиме:

 <page orientation="l"> ... some content ... </page> <page orientation="p"> ... some content ... </page> 

Возможно, вы захотите использовать некоторые css, например:

 h1 {page-break-before:always}