Lines Matching refs:mpdf

18 		$this->mpdf->lastoptionaltag = '';
23 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['bidicode'])) {
24 $blockpost = $this->mpdf->_setBidiCodes('end', $this->mpdf->blk[$this->mpdf->blklvl]['bidicode']);
26 $this->mpdf->OTLdata = [];
27 if ($this->mpdf->tableLevel) {
28 $this->mpdf->_saveCellTextBuffer($blockpost);
30 $this->mpdf->_saveTextBuffer($blockpost);
38 $this->mpdf->blklvl++;
39 $this->mpdf->blk[$this->mpdf->blklvl]['hide'] = true;
40 $this->mpdf->blk[$this->mpdf->blklvl]['tag'] = $tag; // mPDF 6
60 $this->mpdf->blklvl++;
61 $this->mpdf->blk[$this->mpdf->blklvl]['hide'] = true;
62 $this->mpdf->blk[$this->mpdf->blklvl]['tag'] = $tag; // mPDF 6
86 && $this->mpdf->blklvl == 0) {
87 if ($this->mpdf->inFixedPosBlock) {
90 $this->mpdf->inFixedPosBlock = true;
95 $this->mpdf->ignorefollowingspaces = true;
98 if ($this->mpdf->blockjustfinished && !count($this->mpdf->textbuffer)
99 && $this->mpdf->y != $this->mpdf->tMargin
100 && $this->mpdf->collapseBlockMargins) {
101 $lastbottommargin = $this->mpdf->lastblockbottommargin;
103 $this->mpdf->lastblockbottommargin = 0;
104 $this->mpdf->blockjustfinished = false;
107 $this->mpdf->InlineBDF = []; // mPDF 6
108 $this->mpdf->InlineBDFctr = 0; // mPDF 6
109 $this->mpdf->InlineProperties = [];
110 $this->mpdf->divbegin = true;
112 $this->mpdf->linebreakjustfinished = false;
115 if ($this->mpdf->tableLevel) {
117 if ($this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] > 0 && !$this->mpdf->nestedtablejustfinished) {
118 $this->mpdf->_saveCellTextBuffer("\n");
119 if (!isset($this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['maxs'])) {
120 $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['maxs'] = $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'];
121 } elseif ($this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['maxs'] < $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s']) {
122 $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['maxs'] = $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'];
124 $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] = 0; // reset
127 if ($tag === 'CENTER' && $this->mpdf->tdbegin) {
128 $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['a'] = $this->getAlign('center');
131 $this->mpdf->InlineProperties['BLOCKINTABLE'] = $this->mpdf->saveInlineProperties();
134 $this->mpdf->setCSS($properties, 'INLINE');
139 $this->mpdf->listlvl++;
141 $this->mpdf->listcounter[$this->mpdf->listlvl] = (int) $attr['START'] - 1;
143 $this->mpdf->listcounter[$this->mpdf->listlvl] = 0;
145 $this->mpdf->listitem = [];
147 $this->mpdf->listtype[$this->mpdf->listlvl] = 'decimal';
149 if ($this->mpdf->listlvl % 3 == 1) {
150 $this->mpdf->listtype[$this->mpdf->listlvl] = 'disc';
151 } elseif ($this->mpdf->listlvl % 3 == 2) {
152 $this->mpdf->listtype[$this->mpdf->listlvl] = 'circle';
154 $this->mpdf->listtype[$this->mpdf->listlvl] = 'square';
162 if ($this->mpdf->listlvl == 0) { //in case of malformed HTML code. Example:(...)</p><li>Content</li><p>Paragraph1</p>(...)
163 $this->mpdf->listlvl++; // first depth level
164 $this->mpdf->listcounter[$this->mpdf->listlvl] = 0;
167 $this->mpdf->listcounter[$this->mpdf->listlvl]++;
168 $this->mpdf->listitem = [];
175 switch ($this->mpdf->listtype[$this->mpdf->listlvl]) {
179 $blt = $decToAlpha->convert($this->mpdf->listcounter[$this->mpdf->listlvl]) . $this->mpdf->list_number_suffix;
184 $blt = $decToAlpha->convert($this->mpdf->listcounter[$this->mpdf->listlvl], false) . $this->mpdf->list_number_suffix;
188 $blt = $decToRoman->convert($this->mpdf->listcounter[$this->mpdf->listlvl]) . $this->mpdf->list_number_suffix;
192 $blt = $decToRoman->convert($this->mpdf->listcounter[$this->mpdf->listlvl]) . $this->mpdf->list_number_suffix;
196 $blt = $this->mpdf->listcounter[$this->mpdf->listlvl] . $this->mpdf->list_number_suffix;
200 if ($this->mpdf->listlvl % 3 == 1 && $this->mpdf->_charDefined($this->mpdf->CurrentFont['cw'], 8226)) {
203 elseif ($this->mpdf->listlvl % 3 == 2 && $this->mpdf->_charDefined($this->mpdf->CurrentFont['cw'], 9900)) {
206 elseif ($this->mpdf->listlvl % 3 == 0 && $this->mpdf->_charDefined($this->mpdf->CurrentFont['cw'], 9642)) {
213 if ($this->mpdf->usingCoreFont) {
214 $ls = str_repeat(chr(160) . chr(160), ($this->mpdf->listlvl - 1) * 2) . $blt . ' ';
216 $ls = str_repeat("\xc2\xa0\xc2\xa0", ($this->mpdf->listlvl - 1) * 2) . $blt . ' ';
218 $this->mpdf->_saveCellTextBuffer($ls);
219 $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] += $this->mpdf->GetStringWidth($ls);
226 if ($this->mpdf->lastblocklevelchange == 1) {
229 elseif ($this->mpdf->lastblocklevelchange < 1) {
233 $this->mpdf->printbuffer($this->mpdf->textbuffer, $blockstate);
234 $this->mpdf->textbuffer = [];
236 $save_blklvl = $this->mpdf->blklvl;
237 $save_blk = $this->mpdf->blk;
239 $this->mpdf->Reset();
250 if (!$this->mpdf->tableLevel && (($pagesel && (!isset($this->mpdf->page_box['current'])
251 || $pagesel != $this->mpdf->page_box['current']))
255 $startpage = $this->mpdf->page;
256 $pagebreaktype = $this->mpdf->defaultPagebreakType;
257 $this->mpdf->lastblocklevelchange = -1;
258 if ($this->mpdf->ColActive) {
261 if ($pagesel && (!isset($this->mpdf->page_box['current']) || $pagesel != $this->mpdf->page_box['current'])) {
264 $this->mpdf->_preForcedPagebreak($pagebreaktype);
268 $this->mpdf->AddPage(
269 $this->mpdf->CurOrientation,
291 $this->mpdf->AddPage(
292 $this->mpdf->CurOrientation,
314 $this->mpdf->AddPage($this->mpdf->CurOrientation, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, $pagesel);
315 } elseif ($this->mpdf->page_box['current'] != $pagesel) {
316 $this->mpdf->AddPage($this->mpdf->CurOrientation, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, $pagesel);
320 elseif (!isset($this->mpdf->page_box['current']) || $pagesel != $this->mpdf->page_box['current']) {
321 $this->mpdf->AddPage($this->mpdf->CurOrientation, '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, $pagesel);
326 $this->mpdf->_postForcedPagebreak($pagebreaktype, $startpage, $save_blk, $save_blklvl);
330 $this->mpdf->blklvl++;
331 $currblk = & $this->mpdf->blk[$this->mpdf->blklvl];
332 $this->mpdf->initialiseBlock($currblk);
333 $prevblk = & $this->mpdf->blk[$this->mpdf->blklvl - 1];
340 && !$this->mpdf->ColActive && !$this->mpdf->keep_block_together && !isset($attr['PAGEBREAKAVOIDCHECKED'])) {
344 $this->mpdf->kt_y00 = $this->mpdf->y;
345 $this->mpdf->kt_p00 = $this->mpdf->page;
346 $this->mpdf->keep_block_together = 1;
352 if (isset($properties['Z-INDEX']) && $this->mpdf->current_layer == 0) {
356 $this->mpdf->BeginLayer($v);
387 $this->mpdf->setCSS($properties, 'BLOCK', $tag); //name(id/class/style) found in the CSS array!
388 $currblk['InlineProperties'] = $this->mpdf->saveInlineProperties();
392 if (($v === 'hidden' || $v === 'printonly' || $v === 'screenonly') && $this->mpdf->visibility === 'visible' && !$this->mpdf->tableLevel) {
394 $this->mpdf->SetVisibility($v);
407 $this->mpdf->h - $this->mpdf->tMargin - $this->mpdf->bMargin,
408 $this->mpdf->FontSize,
411 if (($currblk['css_set_height'] + $this->mpdf->y) > $this->mpdf->PageBreakTrigger
412 && $this->mpdf->y > $this->mpdf->tMargin + 5
413 && $currblk['css_set_height'] < ($this->mpdf->h - ($this->mpdf->tMargin + $this->mpdf->bMargin))) {
414 $this->mpdf->AddPage($this->mpdf->CurOrientation);
427 $this->mpdf->ClearFloats(strtoupper($properties['CLEAR']), $this->mpdf->blklvl - 1);
445 if (isset($properties['FLOAT']) && strtoupper($properties['FLOAT']) === 'RIGHT' && !$this->mpdf->ColActive) {
449 $this->mpdf->kt_y00 = 0;
450 $this->mpdf->keep_block_together = 0;
452 $this->mpdf->blockContext++;
453 $currblk['blockContext'] = $this->mpdf->blockContext;
455 list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->mpdf->GetFloatDivInfo($this->mpdf->blklvl - 1);
459 $doubleCharWidth = (2 * $this->mpdf->GetCharWidth('W', false));
461 || ($maxw - ($currblk['margin_right'] + $bdl + $pdl + $bdr + $pdr)) < (2 * $this->mpdf->GetCharWidth('W', false))) {
465 $this->mpdf->ClearFloats('LEFT', $this->mpdf->blklvl - 1);
468 $this->mpdf->ClearFloats('RIGHT', $this->mpdf->blklvl - 1);
470 $this->mpdf->ClearFloats('BOTH', $this->mpdf->blklvl - 1);
472 list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->mpdf->GetFloatDivInfo($this->mpdf->blklvl - 1);
480 $currblk['float_start_y'] = $this->mpdf->y;
497 } elseif (isset($properties['FLOAT']) && strtoupper($properties['FLOAT']) === 'LEFT' && !$this->mpdf->ColActive) {
500 $this->mpdf->kt_y00 = 0;
501 $this->mpdf->keep_block_together = 0;
503 $this->mpdf->blockContext++;
504 $currblk['blockContext'] = $this->mpdf->blockContext;
506 list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->mpdf->GetFloatDivInfo($this->mpdf->blklvl - 1);
510 $doubleCharWidth = (2 * $this->mpdf->GetCharWidth('W', false));
512 || ($maxw - ($currblk['margin_left'] + $bdl + $pdl + $bdr + $pdr)) < (2 * $this->mpdf->GetCharWidth('W', false))) {
516 $this->mpdf->ClearFloats('LEFT', $this->mpdf->blklvl - 1);
519 $this->mpdf->ClearFloats('RIGHT', $this->mpdf->blklvl - 1);
521 $this->mpdf->ClearFloats('BOTH', $this->mpdf->blklvl - 1);
523 list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->mpdf->GetFloatDivInfo($this->mpdf->blklvl - 1);
531 $currblk['float_start_y'] = $this->mpdf->y;
548 list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->mpdf->GetFloatDivInfo($this->mpdf->blklvl - 1);
554 $doubleCharWidth = (2 * $this->mpdf->GetCharWidth('W', false));
560 $this->mpdf->ClearFloats('LEFT', $this->mpdf->blklvl - 1);
563 $this->mpdf->ClearFloats('RIGHT', $this->mpdf->blklvl - 1);
565 $this->mpdf->ClearFloats('BOTH', $this->mpdf->blklvl - 1);
567 list($l_exists, $r_exists, $l_max, $r_max, $l_width, $r_width) = $this->mpdf->GetFloatDivInfo($this->mpdf->blklvl - 1);
581 if ($this->mpdf->autoPadding && !$this->mpdf->ColActive) {
593 $this->mpdf->_borderPadding(
600 $this->mpdf->_borderPadding(
610 $this->mpdf->_borderPadding(
617 $this->mpdf->_borderPadding(
627 $this->mpdf->_borderPadding(
634 $this->mpdf->_borderPadding(
644 $this->mpdf->_borderPadding(
651 $this->mpdf->_borderPadding(
671 $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'],
672 $this->mpdf->FontSize,
740 $currblk['width'] = $this->mpdf->pgwidth - ($currblk['outer_right_margin'] + $currblk['outer_left_margin']);
746 $mw = 2 * $this->mpdf->GetCharWidth('W', false);
758 $currblk['width'] = $this->mpdf->pgwidth - ($currblk['outer_right_margin'] + $currblk['outer_left_margin']);
759 $currblk['inner_width'] = $this->mpdf->pgwidth - ($currblk['outer_right_margin']
765 $this->mpdf->x = $this->mpdf->lMargin + $currblk['outer_left_margin'];
768 if (!empty($properties['BACKGROUND-IMAGE']) && !$this->mpdf->kwt && !$this->mpdf->ColActive && !$this->mpdf->keep_block_together) {
769 $ret = $this->mpdf->SetBackground($properties, $currblk['inner_width']);
777 if ($this->mpdf->use_kwt && isset($attr['KEEP-WITH-TABLE']) && !$this->mpdf->ColActive && !$this->mpdf->keep_block_together) {
778 $this->mpdf->kwt = true;
779 $this->mpdf->kwt_y0 = $this->mpdf->y;
780 //$this->mpdf->kwt_x0 = $this->mpdf->x;
781 $this->mpdf->kwt_x0 = $this->mpdf->lMargin; // mPDF 6
782 $this->mpdf->kwt_height = 0;
783 $this->mpdf->kwt_buffer = [];
784 $this->mpdf->kwt_Links = [];
785 $this->mpdf->kwt_Annots = [];
786 $this->mpdf->kwt_moved = false;
787 $this->mpdf->kwt_saved = false;
788 $this->mpdf->kwt_Reference = [];
789 $this->mpdf->kwt_BMoutlines = [];
790 $this->mpdf->kwt_toc = [];
793 $this->mpdf->kwt = false;
797 $currblk['y0'] = $this->mpdf->y;
798 $currblk['initial_y0'] = $this->mpdf->y; // mPDF 6
799 $currblk['x0'] = $this->mpdf->x;
800 $currblk['initial_x0'] = $this->mpdf->x; // mPDF 6
801 $currblk['initial_startpage'] = $this->mpdf->page;
802 $currblk['startpage'] = $this->mpdf->page; // mPDF 6
803 $this->mpdf->oldy = $this->mpdf->y;
805 $this->mpdf->lastblocklevelchange = 1;
809 $this->mpdf->listlvl++;
811 $this->mpdf->listcounter[$this->mpdf->listlvl] = (int) $attr['START'] - 1;
813 $this->mpdf->listcounter[$this->mpdf->listlvl] = 0;
815 $this->mpdf->listitem = [];
822 if ($this->mpdf->listlvl % 3 == 1) {
824 } elseif ($this->mpdf->listlvl % 3 == 2) {
843 if (strtolower($this->mpdf->list_auto_mode) === 'mpdf' && isset($currblk['list_style_position'])
847 $autopadding = $this->mpdf->_getListMarkerWidth($currblk, $ahtml, $ihtml);
848 if ($this->mpdf->listlvl > 1 || $this->mpdf->list_indent_first_level) {
850 $this->mpdf->list_indent_default,
852 $this->mpdf->FontSize,
865 // Initial default value is set by $this->mpdf->list_indent_default in config.php; this value is applied to left or right according
870 $this->mpdf->list_indent_default,
872 $this->mpdf->FontSize,
877 $this->mpdf->list_indent_default,
879 $this->mpdf->FontSize,
888 if ($this->mpdf->listlvl == 0) { // in case of malformed HTML code. Example:(...)</p><li>Content</li><p>Paragraph1</p>(...)
889 $this->mpdf->listlvl++; // first depth level
890 $this->mpdf->listcounter[$this->mpdf->listlvl] = 0;
894 $this->mpdf->listcounter[$this->mpdf->listlvl]++;
897 $this->mpdf->listitem = [];
900 $this->mpdf->_setListMarker($currblk['list_style_type'], $currblk['list_style_image'], $currblk['list_style_position']);
940 $this->mpdf->OTLdata = [];
941 if ($this->mpdf->tableLevel) {
942 $this->mpdf->_saveCellTextBuffer(UtfString::code2utf($bdf) . $bdf2);
944 $this->mpdf->_saveTextBuffer(UtfString::code2utf($bdf) . $bdf2);
946 $this->mpdf->biDirectional = true;
958 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['bidicode'])) {
959 $blockpost = $this->mpdf->_setBidiCodes('end', $this->mpdf->blk[$this->mpdf->blklvl]['bidicode']);
961 $this->mpdf->OTLdata = [];
962 if ($this->mpdf->tableLevel) {
963 $this->mpdf->_saveCellTextBuffer($blockpost);
965 $this->mpdf->_saveTextBuffer($blockpost);
970 $this->mpdf->ignorefollowingspaces = true; //Eliminate exceeding left-side spaces
971 $this->mpdf->blockjustfinished = true;
973 $this->mpdf->lastblockbottommargin = $this->mpdf->blk[$this->mpdf->blklvl]['margin_bottom'];
976 if ($this->mpdf->listlvl > 0 && $this->mpdf->tableLevel) {
977 if (isset($this->mpdf->listtype[$this->mpdf->listlvl])) {
978 unset($this->mpdf->listtype[$this->mpdf->listlvl]);
981 $this->mpdf->listlvl--;
982 $this->mpdf->listitem = [];
985 $this->mpdf->listitem = [];
988 if (preg_match('/^H\d/', $tag) && !$this->mpdf->tableLevel && !$this->mpdf->writingToC) {
989 if (isset($this->mpdf->h2toc[$tag]) || isset($this->mpdf->h2bookmarks[$tag])) {
991 if (count($this->mpdf->textbuffer) == 1) {
992 $content = $this->mpdf->textbuffer[0][0];
994 for ($i = 0; $i < count($this->mpdf->textbuffer); $i++) {
995 if (0 !== strpos($this->mpdf->textbuffer[$i][0], "\xbb\xa4\xac")) { //inline object
996 $content .= $this->mpdf->textbuffer[$i][0];
1001 if (isset($this->mpdf->h2toc[$tag])) {
1004 $objattr['toclevel'] = $this->mpdf->h2toc[$tag];
1007 array_unshift($this->mpdf->textbuffer, [$e]);
1011 if (isset($this->mpdf->h2bookmarks[$tag])) {
1014 $objattr['bklevel'] = $this->mpdf->h2bookmarks[$tag];
1017 array_unshift($this->mpdf->textbuffer, [$e]);
1024 if ($this->mpdf->tableLevel) {
1025 if ($this->mpdf->linebreakjustfinished) {
1026 $this->mpdf->blockjustfinished = false;
1028 if (isset($this->mpdf->InlineProperties['BLOCKINTABLE'])) {
1029 if ($this->mpdf->InlineProperties['BLOCKINTABLE']) {
1030 $this->mpdf->restoreInlineProperties($this->mpdf->InlineProperties['BLOCKINTABLE']);
1032 unset($this->mpdf->InlineProperties['BLOCKINTABLE']);
1035 $this->mpdf->ispre = false;
1040 $this->mpdf->lastoptionaltag = '';
1041 $this->mpdf->divbegin = false;
1043 $this->mpdf->linebreakjustfinished = false;
1045 $this->mpdf->x = $this->mpdf->lMargin + $this->mpdf->blk[$this->mpdf->blklvl]['outer_left_margin'];
1049 $currpos = $this->mpdf->page * 1000 + $this->mpdf->y;
1050 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['float_endpos']) && $this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] > $currpos) {
1051 $old_page = $this->mpdf->page;
1052 $new_page = (int) ($this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] / 1000);
1054 $s = $this->mpdf->PrintPageBackgrounds();
1056 $this->mpdf->pages[$this->mpdf->page] = preg_replace(
1057 '/(___BACKGROUND___PATTERNS' . $this->mpdf->uniqstr . ')/',
1059 $this->mpdf->pages[$this->mpdf->page]
1061 $this->mpdf->pageBackgrounds = [];
1062 $this->mpdf->page = $new_page;
1063 $this->mpdf->ResetMargins();
1064 $this->mpdf->Reset();
1065 $this->mpdf->pageoutput[$this->mpdf->page] = [];
1068 $this->mpdf->y = (round($this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] * 1000) % 1000000) / 1000;
1075 if ($this->mpdf->lastblocklevelchange == 1) {
1078 elseif ($this->mpdf->lastblocklevelchange == -1) {
1083 if (count($this->mpdf->textbuffer) && $this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1]) {
1084 if (0 !== strpos($this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1][0], "\xbb\xa4\xac")) { // not special content
1086 if (preg_match('/[ ]+$/', $this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1][0], $m)) {
1088 $this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1][0] = substr(
1089 $this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1][0],
1091 strlen($this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1][0]) - $strip
1094 if (!empty($this->mpdf->CurrentFont['useOTL'])) {
1095 $this->otl->trimOTLdata($this->mpdf->textbuffer[count($this->mpdf->textbuffer) - 1][18], false); // mPDF 6 ZZZ99K
1102 if (count($this->mpdf->textbuffer) == 0 && $this->mpdf->lastblocklevelchange != 0) {
1103 /*$this->mpdf->newFlowingBlock(
1104 $this->mpdf->blk[$this->mpdf->blklvl]['width'],
1105 $this->mpdf->lineheight,
1110 (isset($this->mpdf->blk[$this->mpdf->blklvl]['direction']) ? $this->mpdf->blk[$this->mpdf->blklvl]['direction'] : 'ltr')
1113 $this->mpdf->newFlowingBlock(
1114 $this->mpdf->blk[$this->mpdf->blklvl]['width'],
1115 $this->mpdf->lineheight,
1120 (isset($this->mpdf->blk[$this->mpdf->blklvl]['direction']) ? $this->mpdf->blk[$this->mpdf->blklvl]['direction'] : 'ltr')
1123 $this->mpdf->finishFlowingBlock(true); // true = END of flowing block
1124 $this->mpdf->PaintDivBB('', $blockstate);
1126 $this->mpdf->printbuffer($this->mpdf->textbuffer, $blockstate);
1130 $this->mpdf->textbuffer = [];
1132 if ($this->mpdf->kwt) {
1133 $this->mpdf->kwt_height = $this->mpdf->y - $this->mpdf->kwt_y0;
1137 $this->mpdf->printfloatbuffer();
1141 $this->mpdf->ispre = false;
1145 if ($this->mpdf->blk[$this->mpdf->blklvl]['float'] === 'R') {
1147 $s = $this->mpdf->PrintPageBackgrounds();
1149 $this->mpdf->pages[$this->mpdf->page] = preg_replace('/(___BACKGROUND___PATTERNS' . $this->mpdf->uniqstr . ')/', '\\1' . "\n" . $s . "\n", $this->mpdf->pages[$this->mpdf->page]);
1150 $this->mpdf->pageBackgrounds = [];
1151 $this->mpdf->Reset();
1152 $this->mpdf->pageoutput[$this->mpdf->page] = [];
1154 for ($i = ($this->mpdf->blklvl - 1); $i >= 0; $i--) {
1155 if (isset($this->mpdf->blk[$i]['float_endpos'])) {
1156 $this->mpdf->blk[$i]['float_endpos'] = max($this->mpdf->blk[$i]['float_endpos'], $this->mpdf->page * 1000 + $this->mpdf->y);
1158 $this->mpdf->blk[$i]['float_endpos'] = $this->mpdf->page * 1000 + $this->mpdf->y;
1162 $this->mpdf->floatDivs[] = [
1164 'startpage' => $this->mpdf->blk[$this->mpdf->blklvl]['startpage'],
1165 'y0' => $this->mpdf->blk[$this->mpdf->blklvl]['float_start_y'],
1166 'startpos' => $this->mpdf->blk[$this->mpdf->blklvl]['startpage'] * 1000 + $this->mpdf->blk[$this->mpdf->blklvl]['float_start_y'],
1167 'endpage' => $this->mpdf->page,
1168 'y1' => $this->mpdf->y,
1169 'endpos' => $this->mpdf->page * 1000 + $this->mpdf->y,
1170 'w' => $this->mpdf->blk[$this->mpdf->blklvl]['float_width'],
1171 'blklvl' => $this->mpdf->blklvl,
1172 'blockContext' => $this->mpdf->blk[$this->mpdf->blklvl - 1]['blockContext']
1175 $this->mpdf->y = $this->mpdf->blk[$this->mpdf->blklvl]['float_start_y'];
1176 $this->mpdf->page = $this->mpdf->blk[$this->mpdf->blklvl]['startpage'];
1177 $this->mpdf->ResetMargins();
1178 $this->mpdf->pageoutput[$this->mpdf->page] = [];
1180 if ($this->mpdf->blk[$this->mpdf->blklvl]['float'] === 'L') {
1182 $s = $this->mpdf->PrintPageBackgrounds();
1184 $this->mpdf->pages[$this->mpdf->page] = preg_replace('/(___BACKGROUND___PATTERNS' . $this->mpdf->uniqstr . ')/', '\\1' . "\n" . $s . "\n", $this->mpdf->pages[$this->mpdf->page]);
1185 $this->mpdf->pageBackgrounds = [];
1186 $this->mpdf->Reset();
1187 $this->mpdf->pageoutput[$this->mpdf->page] = [];
1189 for ($i = ($this->mpdf->blklvl - 1); $i >= 0; $i--) {
1190 if (isset($this->mpdf->blk[$i]['float_endpos'])) {
1191 $this->mpdf->blk[$i]['float_endpos'] = max($this->mpdf->blk[$i]['float_endpos'], $this->mpdf->page * 1000 + $this->mpdf->y);
1193 $this->mpdf->blk[$i]['float_endpos'] = $this->mpdf->page * 1000 + $this->mpdf->y;
1197 $this->mpdf->floatDivs[] = [
1199 'startpage' => $this->mpdf->blk[$this->mpdf->blklvl]['startpage'],
1200 'y0' => $this->mpdf->blk[$this->mpdf->blklvl]['float_start_y'],
1201 'startpos' => $this->mpdf->blk[$this->mpdf->blklvl]['startpage'] * 1000 + $this->mpdf->blk[$this->mpdf->blklvl]['float_start_y'],
1202 'endpage' => $this->mpdf->page,
1203 'y1' => $this->mpdf->y,
1204 'endpos' => $this->mpdf->page * 1000 + $this->mpdf->y,
1205 'w' => $this->mpdf->blk[$this->mpdf->blklvl]['float_width'],
1206 'blklvl' => $this->mpdf->blklvl,
1207 'blockContext' => $this->mpdf->blk[$this->mpdf->blklvl - 1]['blockContext']
1210 $this->mpdf->y = $this->mpdf->blk[$this->mpdf->blklvl]['float_start_y'];
1211 $this->mpdf->page = $this->mpdf->blk[$this->mpdf->blklvl]['startpage'];
1212 $this->mpdf->ResetMargins();
1213 $this->mpdf->pageoutput[$this->mpdf->page] = [];
1217 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['visibility']) && $this->mpdf->blk[$this->mpdf->blklvl]['visibility'] !== 'visible') {
1218 $this->mpdf->SetVisibility('visible');
1222 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['page_break_after'])) {
1223 $page_break_after = $this->mpdf->blk[$this->mpdf->blklvl]['page_break_after'];
1227 $this->mpdf->Reset();
1229 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['z-index']) && $this->mpdf->blk[$this->mpdf->blklvl]['z-index'] > 0) {
1230 $this->mpdf->EndLayer();
1234 if ($this->mpdf->blk[$this->mpdf->blklvl]['keep_block_together']) {
1237 if (($this->mpdf->page - $this->mpdf->kt_p00) == 1 && $this->mpdf->y < $this->mpdf->kt_y00) {
1240 if (($this->mpdf->page - $this->mpdf->kt_p00) > 0) {
1241 for ($i = $this->mpdf->page; $i > $this->mpdf->kt_p00; $i--) {
1242 unset($this->mpdf->pages[$i]);
1243 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['bb_painted'][$i])) {
1244 unset($this->mpdf->blk[$this->mpdf->blklvl]['bb_painted'][$i]);
1246 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['marginCorrected'][$i])) {
1247 unset($this->mpdf->blk[$this->mpdf->blklvl]['marginCorrected'][$i]);
1249 if (isset($this->mpdf->pageoutput[$i])) {
1250 unset($this->mpdf->pageoutput[$i]);
1253 $this->mpdf->page = $this->mpdf->kt_p00;
1255 $this->mpdf->keep_block_together = 0;
1256 $this->mpdf->pageoutput[$this->mpdf->page] = [];
1258 $this->mpdf->y = $this->mpdf->kt_y00;
1260 $ihtml = $this->mpdf->blk[$this->mpdf->blklvl]['array_i'] - 1;
1264 unset($this->mpdf->blk[$this->mpdf->blklvl]);
1265 $this->mpdf->blklvl--;
1267 for ($blklvl = 1; $blklvl <= $this->mpdf->blklvl; $blklvl++) {
1268 $this->mpdf->blk[$blklvl]['y0'] = $this->mpdf->blk[$blklvl]['initial_y0'];
1269 $this->mpdf->blk[$blklvl]['x0'] = $this->mpdf->blk[$blklvl]['initial_x0'];
1270 $this->mpdf->blk[$blklvl]['startpage'] = $this->mpdf->blk[$blklvl]['initial_startpage'];
1273 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['x0'])) {
1274 $this->mpdf->x = $this->mpdf->blk[$this->mpdf->blklvl]['x0'];
1276 $this->mpdf->x = $this->mpdf->lMargin;
1279 $this->mpdf->lastblocklevelchange = 0;
1280 $this->mpdf->ResetMargins();
1282 $this->mpdf->AddPage();
1287 if ($this->mpdf->blklvl > 0) { // ==0 SHOULDN'T HAPPEN - NOT XHTML
1288 if ($this->mpdf->blk[$this->mpdf->blklvl]['tag'] == $tag) {
1289 unset($this->mpdf->blk[$this->mpdf->blklvl]);
1290 $this->mpdf->blklvl--;
1295 $this->mpdf->lastblocklevelchange = -1;
1297 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['InlineProperties'])) {
1298 $this->mpdf->restoreInlineProperties($this->mpdf->blk[$this->mpdf->blklvl]['InlineProperties']);
1301 $this->mpdf->x = $this->mpdf->lMargin + $this->mpdf->blk[$this->mpdf->blklvl]['outer_left_margin'];
1303 if (!$this->mpdf->tableLevel && $page_break_after) {
1304 $save_blklvl = $this->mpdf->blklvl;
1305 $save_blk = $this->mpdf->blk;
1306 $save_silp = $this->mpdf->saveInlineProperties();
1307 $save_ilp = $this->mpdf->InlineProperties;
1308 $save_bflp = $this->mpdf->InlineBDF;
1309 $save_bflpc = $this->mpdf->InlineBDFctr; // mPDF 6
1311 $startpage = $this->mpdf->page;
1312 $pagebreaktype = $this->mpdf->defaultPagebreakType;
1313 if ($this->mpdf->ColActive) {
1318 $this->mpdf->_preForcedPagebreak($pagebreaktype);
1321 $this->mpdf->AddPage($this->mpdf->CurOrientation, 'NEXT-ODD');
1323 $this->mpdf->AddPage($this->mpdf->CurOrientation, 'NEXT-EVEN');
1325 $this->mpdf->AddPage($this->mpdf->CurOrientation);
1329 $this->mpdf->_postForcedPagebreak($pagebreaktype, $startpage, $save_blk, $save_blklvl);
1331 $this->mpdf->InlineProperties = $save_ilp;
1332 $this->mpdf->InlineBDF = $save_bflp;
1333 $this->mpdf->InlineBDFctr = $save_bflpc; // mPDF 6
1334 $this->mpdf->restoreInlineProperties($save_silp);
1339 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['bidicode'])) {
1340 $blockpre = $this->mpdf->_setBidiCodes('start', $this->mpdf->blk[$this->mpdf->blklvl]['bidicode']);
1342 $this->mpdf->OTLdata = [];
1343 if ($this->mpdf->tableLevel) {
1344 $this->mpdf->_saveCellTextBuffer($blockpre);
1346 $this->mpdf->_saveTextBuffer($blockpre);