Я создаю отчеты с использованием DOMPDF в codeigniter. Этот pdf-файл содержит 10 страниц, в которых 3 страницы имеют желтый фон (страницы # 2, # 5 и # 8 и целая страница bgcolor должна быть желтой без полей или интервалов). Цвет фона страниц белизны.Создайте PDF-документ с каждым фоном страницы в разных цветах с помощью DOMPDF
Кроме того, я использую html5 анализатор DOMPDF в, установив "DOMPDF_ENABLE_HTML5PARSER" конфигурации, как верно. Это связано с тем, что в моем html-файле отчета содержатся теги html5, такие как нижний колонтитул.
Я гугле это и нашел одно решение, как поместить каждую страницу в отдельный «тела» тег, но Сгенерированный имеют все страницы в желтом фоне.
Ниже мой HTML шаблон:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Report</title>
<link rel="stylesheet" href="css/reports/styles.css" />
</head>
<!-- Page #1 -->
<body>
<div>
<div class="wrapper">
<h1>Heading</h1>
<ul class="index">
<li>2. report 1</li>
<li>5. report 2</li>
<li>8. report 3</li>
</ul>
</div>
</div>
</body>
<!-- Page #2 -->
<body style="background-color: #f2ab02">
<div>
<div class="wrapper">
<h1>Report 1: Analysis & Results</h1>
<img src="/img/reports/human-face.png" class="imglogo" />
</div>
</div>
</body>
<!-- Page #3 -->
<body>
<div>
<h1>Report 1: (1/2)</h1>
<table>...</table>
<footer>
<img src="/img/reports/logo.png" class="footer-logo" />
<div class="page_number">3</div>
</footer>
</div>
</body>
<!-- Page #4 -->
<body>
<div>
<h1>Report 1: (2/2)</h1>
<table>...</table>
<footer>
<img src="/img/reports/logo.png" class="footer-logo" />
<div class="page_number">4</div>
</footer>
</div>
</body>
<!-- Page #5 -->
<body style="background-color: #f2ab02">
<div>
<div class="wrapper">
<h1>Report 2: Analysis & Results</h1>
<img src="/img/reports/human-face.png" class="imglogo" />
</div>
</div>
</body>
<!-- Page #6 -->
<body>
<div>
<h1>Report 2: (1/2)</h1>
<table>...</table>
<footer>
<img src="/img/reports/logo.png" class="footer-logo" />
<div class="page_number">6</div>
</footer>
</div>
</body>
<!-- Page #7 -->
<body>
<div>
<h1>Report 2: (2/2)</h1>
<table>...</table>
<footer>
<img src="/img/reports/logo.png" class="footer-logo" />
<div class="page_number">7</div>
</footer>
</div>
</body>
<!-- Page #8 -->
<body style="background-color: #f2ab02">
<div>
<h1>Report 3: Analysis & Results</h1>
<img src="/img/reports/human-face.png" class="imglogo" />
</div>
</body>
<!-- Page #9 -->
<body>
<div>
<h1>Report 3: (1/2)</h1>
<table>...</table>
<footer>
<img src="/img/reports/logo.png" class="footer-logo" />
<div class="page_number">9</div>
</footer>
</div>
</body>
<!-- Page #10 -->
<body>
<div>
<h1>Report 3: (2/2)</h1>
<table>...</table>
<footer>
<img src="/img/reports/logo.png" class="footer-logo" />
<div class="page_number">10</div>
</footer>
</div>
</body>
</html>
Любая помощь будет оценена.
Я не могу сказать, что рекомендую этот метод, но он может работать, если вы отключите анализатор HTML5 *. Основное использование этого анализатора в dompdf - исправление синтаксических ошибок. Множественные элементы BODY не разрешены, и поэтому после прохождения через парсер HTML5 несколько элементов тела будут объединены в один элемент. – BrianS
У меня сейчас нет другого решения, так что продолжайте. – BrianS
Отключение _HTML5 parser_ действительно сработало для меня. Спасибо за предложение и извините за поздний ответ. –