我使用Dompdf创建pdf文件并且不能获取大文件我一次创建多个pdf文件。 (谈论1.4 MB而不是> 300)
所以计划是首先添加pdf,添加分页符,然后将计数器重置为1.
然后添加第二个pdf,它以页面计数器1开头,而不是继续使用3。
伪代码:
model
->addContent(fooHtml)
->pageBreak() // adds "<div class="page_break"></div>" to content
->counterReset() // should add the counter reset to content
->addContent(barHtml)
->getPdf
示例pdf:
问题是counter-reset
不起作用。 counter-increment
会这样做。
我现在认为我可以通过使用增量减去当前计数器值来重置计数器:
counter-increment: page -counter(page)
但是counter(page)
没有返回值?至少它似乎无效。
这有效:
counter-increment: page -2
但肯定没有解决方案。
我现在搜索一种获取counter(page)
值的方法,以便能够添加div以将当前计数器重置为1:
<div style="counter-increment: page -counter(page)"></div>
。
有没有办法减去当前的计数器?
以下是测试文件:
HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Pages Test</title>
<style type="text/css">
footer {
position: fixed;
left: 0px;
bottom: -160px;
right: 0px;
height: 150px;
}
.page_break {
page-break-before: always;
}
.page_number:after {
content: counter(page);
}
</style>
</head>
<body>
<footer>
<div class="page page_number">Page </div>
</footer>
<div class="foo">Page One Of Foo</div>
<div class="page_break"></div>
<div class="foo">Page Two Of Foo</div>
<div style="counter-increment: page -2"></div>
<!-- does not work: <div style="counter-increment: page -counter(page)"></div> -->
<div class="page_break"></div>
<div class="foo">Page One Of Bar</div>
</body>
</html>
PHP
$html = file_get_contents('path/to/html/template.html');
$domPdf = new \Dompdf\Dompdf();
$domPdf->loadHtml($html);
$domPdf->render();
$pdf = $domPdf->output();