diff --git a/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php b/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php
index 9030c4241b70719041a813bdc431a3885ab2a574..737f1094ecf298d4f2ba0e3a08564283dc402a51 100644
--- a/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php
+++ b/htdocs/includes/modules/cheque/pdf/pdf_blochet.class.php
@@ -72,7 +72,7 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
// Defini position des colonnes
$this->line_height = 5;
- $this->line_per_page = 25;
+ $this->line_per_page = 40;
$this->tab_height = 200; //$this->line_height * $this->line_per_page;
}
@@ -87,9 +87,10 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
{
global $user,$conf,$langs;
- if (! is_object($outputlangs)) $outputlangs=$langs;
- // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
- if (!class_exists('TCPDF')) $outputlangs->charset_output='ISO-8859-1';
+ if (! is_object($outputlangs)) $outputlangs=$langs;
+ // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO
+ $sav_charset_output=$outputlangs->charset_output;
+ if (!class_exists('TCPDF')) $outputlangs->charset_output='ISO-8859-1';
$outputlangs->load("main");
$outputlangs->load("companies");
@@ -114,20 +115,7 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
$year = sprintf("%04d",$year);
$_file = $dir . "/bordereau-".$number.".pdf";
- // Protection et encryption du pdf
-/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
- {
- $pdf = new FPDI_Protection('P','mm',$this->format);
- $pdfrights = array('print'); // Ne permet que l'impression du document
- $pdfuserpass = ''; // Mot de passe pour l'utilisateur final
- $pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
- $pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
- }
- else
- {
- $pdf=new FPDI('P','mm',$this->format);
- }
-*/
+ // Create PDF instance
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))
@@ -141,7 +129,6 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
$pagenb=0;
$pdf->SetDrawColor(128,128,128);
- $pdf->SetDrawColor(128,128,128);
$pdf->SetTitle($outputlangs->transnoentities("CheckReceipt")." ".$number);
$pdf->SetSubject($outputlangs->transnoentities("CheckReceipt"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
@@ -152,15 +139,13 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
$pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right
$pdf->SetAutoPageBreak(1,0);
- $lines=$this->line_per_page; // There is no line in such PDF.
-
- $pages = intval($lines / $this->line_per_page);
-
- if (($lines % $this->line_per_page)>0)
+ $nboflines=sizeof($this->lines);
+ // Define nb of page
+ $pages = intval($nboflines / $this->line_per_page);
+ if (($nboflines % $this->line_per_page)>0)
{
$pages++;
}
-
if ($pages == 0)
{
// force to build at least one page if report has no lines
@@ -168,10 +153,10 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
}
$pdf->AddPage();
+ $pagenb++;
+ $this->Header($pdf, $pagenb, $pages, $outputlangs);
- $this->Header($pdf, 1, $pages, $outputlangs);
-
- $this->Body($pdf, 1, $outputlangs);
+ $this->Body($pdf, $pagenb, $pages, $outputlangs);
// Pied de page
$this->_pagefoot($pdf,'',$outputlangs);
@@ -183,15 +168,16 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
if (! empty($conf->global->MAIN_UMASK))
@chmod($file, octdec($conf->global->MAIN_UMASK));
- return 1; // Pas d'erreur
+ $outputlangs->charset_output=$sav_charset_output;
+ return 1; // Pas d'erreur
}
/**
- * \brief Generate Header
- * \param pdf pdf object
- * \param page current page number
- * \param pages number of pages
+ * Generate Header
+ * @param pdf Pdf object
+ * @param page Current page number
+ * @param pages Total number of pages
*/
function Header(&$pdf, $page, $pages, $outputlangs)
{
@@ -293,7 +279,7 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
/**
* Output array
*/
- function Body(&$pdf, $page, $outputlangs)
+ function Body(&$pdf, $pagenb, $pages, $outputlangs)
{
// x=10 - Num
// x=30 - Banque
@@ -303,8 +289,11 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
$oldprowid = 0;
$pdf->SetFillColor(220,220,220);
$yp = 0;
+ $lineinpage=0;
for ($j = 0 ; $j < sizeof($this->lines) ; $j++)
{
+ $lineinpage++;
+
$pdf->SetXY (1, $this->tab_top + 10 + $yp);
$pdf->MultiCell(8, $this->line_height, $j+1, 0, 'R', 0);
@@ -321,6 +310,19 @@ class BordereauChequeBlochet extends ModeleChequeReceipts
$pdf->MultiCell(20, $this->line_height, price($this->lines[$j]->amount_chq), 0, 'R', 0);
$yp = $yp + $this->line_height;
+
+ if ($lineinpage >= $this->line_per_page && $j < (sizeof($this->lines)-1))
+ {
+ $lineinpage=0; $yp=0;
+
+ // New page
+ $pdf->AddPage();
+ $pagenb++;
+ $this->Header($pdf, $pagenb, $pages, $outputlangs);
+ $pdf->SetFont('','', $default_font_size - 1);
+ $pdf->MultiCell(0, 3, ''); // Set interline to 3
+ $pdf->SetTextColor(0,0,0);
+ }
}
}