[英]Page break in Html2Pdf
我正在生成一個動態 pdf 文件,其中包含大約 10,000 個用戶的數據,通常該應用程序是使用 MySQL 和 PHP 開發的。 動態內容太重了,我發現用fpdf()
類很難處理。 所以我使用ob_get_clean()
將我的輸出 PHP 頁面轉換為 HTML 文件。 現在成功生成了 html 文件以及 pdf 文件。 但我想在每個用戶的數據后留下一個分頁符,即每個用戶的數據必須從一個新頁面開始。 我不能使用任何 HTML 標簽,因為在動態生成的 HTML 文件中,所有內容都在<html>
和</html>
標簽之外。 請幫助我,以便在每個用戶的數據之后我如何在 pdf 文件中進行分頁...在此先感謝:)
html2pdf 支持頁面標簽:
protected function _tag_open_PAGE($param) {}
在第 2229 行。您可以在那里看到支持哪些屬性。 例如,下面創建一個橫向頁面和一個縱向模式:
<page orientation="l">
... some content ...
</page>
<page orientation="p">
... some content ...
</page>
基於 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 行向 switch case 添加一個新的處理程序:
case 'page-break-after':
$this->value[$nom] = $val;
break;
然后為了讓它工作,你的 html 內容應該包含 break 元素
<div style="page-break-after:always; clear:both"></div>
注意區分大小寫的樣式,不確定插件是否處理它
我只是在遇到同樣的問題后才想到這一點。 他們使用的解析器確實支持 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();
您可能想使用一些 css,例如:
h1 {page-break-before:always}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.