From b9cbd84d4ebd380fb6e9850c4b08dbba70dfb195 Mon Sep 17 00:00:00 2001 From: ATM john Date: Thu, 15 Oct 2020 09:30:48 +0200 Subject: [PATCH] Fix page break --- .../doc/pdf_standard.modules.php | 32 ++++++------------- .../tecnickcom/tcpdf/include/tcpdf_fonts.php | 3 +- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 8aec0cc4105..cdc5f1e1bad 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -361,32 +361,18 @@ class pdf_standard extends ModeleExpenseReport $curY = $nexY; $pdf->startTransaction(); $this->printLine($pdf, $object, $i, $curY, $default_font_size, $outputlangs, $hidedetails); - $pageposafter=$pdf->getPage(); + $pageposafter=$pdf->getPage(); if ($pageposafter > $pageposbefore) { // There is a pagebreak $pdf->rollbackTransaction(true); - $pageposafter = $pageposbefore; - //print $pageposafter.'-'.$pageposbefore;exit; + + $pdf->AddPage('', '', true); + $pdf->setPage($pageposbefore+1); $pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it. - $this->printLine($pdf, $object, $i, $curY, $default_font_size, $outputlangs, $hidedetails); - $pageposafter = $pdf->getPage(); - $posyafter = $pdf->GetY(); - //var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit; - if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) { - // There is no space left for total+free text - if ($i == ($nblignes-1)) { - // No more lines, and no space left to show total, so we create a new page - $pdf->AddPage('', '', true); - if (! empty($tplidx)) $pdf->useTemplate($tplidx); - if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); - $pdf->setPage($pageposafter+1); - } - } - else - { - // We found a page break - $showpricebeforepagebreak=0; - } + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + + $this->printLine($pdf, $object, $i, $tab_top_newpage, $default_font_size, $outputlangs, $hidedetails); } else // No pagebreak { @@ -554,7 +540,7 @@ class pdf_standard extends ModeleExpenseReport { global $conf; $pdf->SetFont('', '', $default_font_size - 1); - + $pdf->SetTextColor(0, 0, 0); // Accountancy piece $pdf->SetXY($this->posxpiece, $curY); $pdf->writeHTMLCell($this->posxcomment-$this->posxpiece-0.8, 4, $this->posxpiece-1, $curY, $linenumber + 1, 0, 1); diff --git a/htdocs/includes/tecnickcom/tcpdf/include/tcpdf_fonts.php b/htdocs/includes/tecnickcom/tcpdf/include/tcpdf_fonts.php index 9242ca4bfdb..8681dfbdbfa 100644 --- a/htdocs/includes/tecnickcom/tcpdf/include/tcpdf_fonts.php +++ b/htdocs/includes/tecnickcom/tcpdf/include/tcpdf_fonts.php @@ -1149,7 +1149,7 @@ class TCPDF_FONTS { $subsetglyphs[$g] = true; } } - } + } break; } case 6: { // Format 6: Trimmed table mapping @@ -1664,6 +1664,7 @@ class TCPDF_FONTS { * @public static */ public static function unichr($c, $unicode=true) { + $c = intval($c); if (!$unicode) { return chr($c); } elseif ($c <= 0x7F) {