2014-03-03 110 views
3

我在PHP中使用HTML2PDF轉換器來生成PDF。HTML2PDF - 添加多個頁面

我的html似乎很大,所以它不適合單個頁面。

,當我試圖生成PDF我收到以下錯誤..

找不到妥善的解決辦法還沒有「一個TD標籤不適合在一個頁面上的內容」。請任何想法。

這是我最後生成PDF的代碼。

require_once("../html2pdf_new/html2pdf.class.php"); 

try 
{ 
    $html2pdf = new HTML2PDF('P','A4','fr'); 
    $html2pdf->pdf->SetDisplayMode('fullpage'); 
    $html2pdf->WriteHTML($content); 
    $html2pdf->Output('exemple.pdf'); 
} 

catch(HTML2PDF_exception $e) { 
    echo $e; 
    exit; 
} 

$content包含所有html。

+0

也許嘗試使用div而不是表,如果這是一個選項? – duellsy

+0

不,先生,我只需要使用表結構。 – Shri

+0

我不相信當時有一個可用的直接解決方法,除了將您的內容分解爲更小的區塊 – duellsy

回答

0

找到這個'throw new HTML2PDF_exception(7);'在html2pdf.class.php中並禁用它。 像這樣:

if ($this->_testTdInOnepage && $this->_subHtml->pdf->getPage()>1) { 
     //throw new HTML2PDF_exception(7); 
    } 
+0

Shri要求「適當的解決方案」。 嘗試僅評論Exception並查看結果,你會發現這根本就不是合適的解決方案。 – realUser404

0

如果我們嵌套的表格,它打破了多個頁面。

儘量避免嵌套表。

它的工作原理。

Forum

1

發現如果這個問題仍然存在:我用的方法

HTML2PDF::setTestTdInOnePage(false)

價值的作品,此設置固定它。在html2pdf主類文件中,我們有一個setTestTdInOnePage方法,如果設置爲true,它會在單個頁面中執行td的渲染。因爲我們的td數據超過一個頁面,所以我們會拋出這個異常。所以爲了避免它,我們可以將它設置爲false來通過檢查。

1

您可以將setTestTdInOnePage設置爲false以克服此錯誤。

$html2pdf = new HTML2PDF('P', 'A4', 'en'); 

$html2pdf->setTestTdInOnePage(false);