I am in the process of generating a dynamic pdf file, which contains data of around 10,000 users, in general the app is developed using MySQL and PHP. The dynamic content is
Basing on macdabby's work (which doesn't work). But thanks to him, the idea is correct.
Html2Pdf v4.03
For example we want to parse a tag DIV:
html2pdf.class.php line 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 Line 114:
//add a new style declaration
public function initStyle()
{
...
$this->value['page-break-after'] = null;
}
Line 1024 add a new handler to the switch case:
case 'page-break-after':
$this->value[$nom] = $val;
break;
And then for it to work, your html content should contain the break element
<div style="page-break-after:always; clear:both"></div>
Watch out for case sensitive style, not sure if the plugin handle it
You possibly want to use some css, eg:
h1 {page-break-before:always}
html2pdf supports page tag:
protected function _tag_open_PAGE($param) {}
at line 2229. You can see there what attributes are supported. For example following creates one page in landscape and one in portrait mode:
<page orientation="l">
... some content ...
</page>
<page orientation="p">
... some content ...
</page>
i just figured this out after having the same problem. the parser that they use DOES support the page-break-after tag, but the html2pdf does not work.
i think i have it working by doing the following modifications to html2pdf.class:
around line 4174, the first thing inside:
protected function _tag_close_P($param){
should be:
if($this->parsingCss->value['page-break-after'] == "always")
$this->_setNewPage();
around line 2961, the first thing inside:
protected function _tag_close_DIV($param, $other='div'){
should be:
if($this->parsingCss->value['page-break-after'] == "always")
$this->_setNewPage();