diff --git a/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php b/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php index ae5823861c4b7..ac08b1fffc372 100644 --- a/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php +++ b/htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php @@ -575,6 +575,7 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } $nexY = $pdf->GetY(); + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); $pdf->setTopMargin($this->marge_haute); @@ -608,6 +609,12 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i, diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index c0311205655f6..de73d33fc989a 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -617,7 +617,7 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede $nexY = max($pdf->GetY(), $posYAfterImage); - + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); @@ -695,6 +695,12 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i, diff --git a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php index 56f71ce36e887..493741246e481 100644 --- a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php +++ b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php @@ -449,6 +449,7 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } $nexY = $pdf->GetY(); + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); $pdf->setTopMargin($this->marge_haute); @@ -498,6 +499,12 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede $pdf->SetLineStyle(array('dash'=>0)); } + // Restore nexY from the correct page when content was printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $nexY += 2; // Add space between lines // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index d62ad0c7e71de..587b399f33184 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -775,6 +775,7 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } $nexY = max($pdf->GetY(), $posYAfterImage, $posYAfterDescription); + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); @@ -858,6 +859,12 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i, diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index dba0f3c90f126..2a7c5fafeb53a 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -632,6 +632,7 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } $nexY = $pdf->GetY(); + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); @@ -708,6 +709,12 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i, diff --git a/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php b/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php index c8982040b2c4c..41358eb4a8139 100644 --- a/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php +++ b/htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php @@ -592,7 +592,7 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede $nexY = max($pdf->GetY(), $posYAfterImage); - + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); @@ -663,6 +663,12 @@ public function write_file($object, $outputlangs, $srctemplatepath = '', $hidede } } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i, diff --git a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php index 067211b1cc143..71887de2ac584 100644 --- a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php +++ b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php @@ -567,6 +567,7 @@ public function write_file($object, $outputlangs = '', $srctemplatepath = '', $h } $nexY = $pdf->GetY(); + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); $pdf->setTopMargin($this->marge_haute); @@ -635,6 +636,12 @@ public function write_file($object, $outputlangs = '', $srctemplatepath = '', $h } } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i, diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php index 877040c519dcb..62cfdc643a27c 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php @@ -566,6 +566,7 @@ public function write_file($object, $outputlangs = '', $srctemplatepath = '', $h } $nexY = $pdf->GetY(); + $nexYAfterDesc = $nexY; $pageposafter = $pdf->getPage(); $pdf->setPage($pageposbefore); $pdf->setTopMargin($this->marge_haute); @@ -634,6 +635,12 @@ public function write_file($object, $outputlangs = '', $srctemplatepath = '', $h } } + // Restore nexY from the correct page when prices were printed on a previous page + if ($pageposafter > $pageposbefore && !empty($showpricebeforepagebreak)) { + $nexY = $nexYAfterDesc; + $pdf->setPage($pageposafter); + } + $parameters = array( 'object' => $object, 'i' => $i,