Intereting Posts
Как читать и эхо-размер файла загружаемого файла, написанного на сервере в реальном времени, без блокировки на сервере и на клиенте? Как я могу заставить Laravel вернуть пользовательскую ошибку для API JSON REST Автоматически конвертировать ключевые слова в ссылки в php Получить идентификатор сообщения WordPress из заголовка сообщения Как получить идентификатор элемента в переменной PHP как изменить ключ в массиве при сохранении порядка? «Карта для существующих таблиц» в построителе расширений, показывающая странные проблемы в TYPO3 Как я могу выбрать и загрузить несколько файлов с помощью HTML и PHP, используя HTTP POST? Unicode в PHP? WooCommerce WordPress – примерная кнопка «Корзина» Как преобразовать кодовые страницы Unicode в шестнадцатеричные HTML-объекты? Можете ли вы присвоить значения константам с знаком равенства после использования, определенных в php? Как настроить эти заголовки электронной почты с помощью API Mailgun Предел аргументов POST в html или php Изменение API графиков Google: тип изображения (размер) больше не работает?

Разрыв страницы в 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}