Nous mettons en place des requêtes utilisant l’API REST de Dolibarr mais avons rencontré un problème lors de la génération PDF.
Dans le fichier « core\lib\pdf.lib.php », sont utilisé par endroit les variables « $pdf->page_largeur », « $pdf->margin_left » et « $pdf->margin_right » qui semble non existantes (« Undefined property: TCPDI::$page_largeur […] on line 1241 » par exemple).
Savez vous d’où vient le problème et comment le corriger ?
Merci, mais ce n’est pas le même problème (et nous utilisons bien la dernière version).
Si vous allez dans le fichier « core\lib\pdf.lib.php », fonction « pdf_pagefoot » (ligne 1241), vous avez :
$pdf->writeHTMLCell($pdf->page_largeur - $pdf->margin_left - $pdf->margin_right, $freetextheight, $dims[‹ lm ›], $dims[‹ hk ›] - $marginwithfooter, dol_htmlentitiesbr($line, 1, ‹ UTF-8 ›, 0));
Sauf que $pdf->page_largeur, $pdf->margin_left et $pdf->margin_right ne semble pas reconnu « Undefined property: TCPDI::$page_largeur » « Undefined property: TCPDI::$margin_left » et « Undefined property: TCPDI::margin_right ».
Est-ce que quelqu’un sait d’où vient le problème ? D’où viennent ces variables ?
Oui effectivement j’ai condondu $page_largeur avec $pdf->page_largeur
Visiblement c’est une erreur dans le fichier pdf.lib.php.
Je n’ai pas regardé tout le code en détail mais la ligne 1241 devrait plutôt ressembler à ça $pdf->writeHTMLCell($page_largeur - $marge_gauche - $marge_droite, $freetextheight, $dims['lm'], $dims['hk'] - $marginwithfooter, dol_htmlentitiesbr($line, 1, 'UTF-8', 0));
À noter le méli-mélo de noms de variables en français et en anglais, qui est un gros problème de qualité de code de Dolibarr (et à l’origine d’un certain nombre de bugs si on consulte les PR sur github).
Oui, c’est aussi ce qu’on avait pensé, mais la marge droite ne semble pas exister dans cette fonction et la marge gauche est défini comme n’étant plus utilisée dans la définition de la fonction : @param int $marge_gauche Margin left (no more used)