dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dolibarr-dev] factures/propals et format impression pdf


From: Christophe
Subject: [Dolibarr-dev] factures/propals et format impression pdf
Date: Thu, 03 Nov 2005 19:05:29 -0400

Bonsoir,

Aujourd'hui, j'ai eu besoin d'imprimer une propal. Sous linux, gpdf me
couper le haut et le bas de page. Je me suis donc décidé à utiliser
ghostview, mais lui, me coupait un peu du bas.
Je me suis donc quelque peu penché sur la génération de ces
propals/factures et je vous livre le fruit de quelques réflexions.

Tout d'abord, $this->format est initialisé avec 'A4' mais ne semble pas
utilisé, alors qu'il pourrait l'être :
(patch pour propal azur, même principe pour facture crabe)
@@ -143,7 +143,7 @@
             if (file_exists($dir))
             {
                 // Initialisation propale vierge
-                $pdf=new FPDF('P','mm','A4');
+                $pdf=new FPDF('P','mm',$this->format);
                 $pdf->Open();
                 $pdf->AddPage();


Ensuite, pour le footer, j'ai modifié de la sorte :
@@ -694,12 +710,12 @@

         $html=new Form($this->db);

-        $footy=14;
+        $footy=19;
         $pdf->SetY(-$footy);
         $pdf->SetDrawColor(224,224,224);
-        $pdf->line(10, 282, 200, 282);
+        $pdf->line(10, 297-$footy , 200, 297-$footy);

-        $footy=13;
+        $footy--;
         $pdf->SetFont('Arial','',8);

         // Premiere ligne d'info réglementaires

La valeur 19 de footy est peut-être du à mon système.
Par contre, il me semble intéressant de lier la position de la ligne de
séparation à la longueur de page (297mm en format A4).
D'ailleurs, il serait peut-être intéressant, puisque le constructeur
FPDF le permet, de ne pas donner un format, mais un tableau avec des
dimension
$this->format = array($this->page_largeur,$this->page_hauteur);
avec par exemple, pour le formpat A4 :
$this->page_largeur = 210;
$this->page_hauteur = 297;
ce qui permettrait alors de lier la position de la ligne de séparation à
ce format, de façon à ce qu'une seule modification de ce format se
répercute correctement à tous les éléments de la page.

Enfin, le $footy-- n'est là que pour la pratique, qui permet de ne
modifier qu'une seule valeur dans mon cas.

Voilà, je ne sais pas si j'ai été très clair. Si besoin, je peux
ré-expliquer.

Les modifs sont identiques pour le modèle de facture crabe

------------------------------------

Autre chose, j'avais personnellement besoin d'indiquer des conditions de
règlement, des délais de réalisation, et tout autre commentaire dans mes
propals. J'ai donc utilisé le champ "note" de la propal, que j'ai ajouté
ainsi au modèle azur :
@@ -354,6 +360,16 @@
                 */

                 /*
+                 * Note
+                 */
+                $pdf->SetFont('Arial','B',9);
+                $pdf->SetXY(10, 207);
+                $pdf->MultiCell(107, 5, $langs->trans('Comments'), 1,
'L', 1);
+                $pdf->SetFont('Arial','',8);
+                $pdf->SetXY(10, 212);
+                $pdf->MultiCell(107, 4, $prop->note, 1, 'L');
+
+                /*
                  * Pied de page
                  */
                 $this->_pagefoot($pdf, $prop);

Si cela peut servir à quelqu'un.


-- 
Christophe





reply via email to

[Prev in Thread] Current Thread [Next in Thread]