Pdf rechnung mit zeilenumbruch

hi,
wir haben dir vers 4.9xxxxx
ich suche die lösung, wie man die spalte “beschreibung” in der pdff-rechnung mit einem zeilenumbruch versehen kann.

leider habe ich noch nichts entsprechendes gefunden. kann jemand mir weiterhelfen?

lg martin

Hallo Martin,

4.9xxxxxx

Habe ich was verpasst?

Zeilenumbruch in PHP kannst Du etwa so realisieren: [B]
[/B]

Oder eben als HTML [B]<br />[/B]

ja klar,
in der datei myorder.php- aber wo kommt der tag hin?

aber was meinst Du mit Beschreibung? Meinst Du vlt. Artikelbezeichnung ?

bei uns steht in der pdf

1 . spalte “menge” ,

  1. spalte “art.-nr.” ,

  2. spalte “beschreibung”, um diese geht es ( de code habe ist bisher nicht verändert)

hier ein beispiel

Benutze:

$oPdf->MultiCell(

danke rubberrcut,
kannst du mir sagen, wo und wie code hin muss?

lieben dank

Na, da wo der Title verarbeitet wird ->anstatt ‘$oPdf->text(’:

// product title
            $oPdf->setFont( $oPdfBlock->getFont(), '', 10 );
            $oPdf->text( 45, $iStartPos, substr( strip_tags( $this->_replaceExtendedChars( $oOrderArt->oxorderarticles__oxtitle->getRawValue(), true ) ), 0, 58 ) );

danke, zeilenumbruch klappt, nur die ganze darstellung der rechnung ist nun total verschoben - schade. …

ich würde an Deiner stelle versuchen mit der schriftgröße zu Experimentieren. Soweit ich beurteilen kann ist Artikelname etwas lang und großgeschrieben. In dem Fall empfiehlt sich wirklich schriftgröße anzupassen.

Um in myorder.php zu arbeiten, muss man erst die Syntax kennen und dann die Werte genau nach individuellen Layouts einstellen:

Beispiel Zeilenumbruch mit Erläuterung:


// ARTIKELBESCHREIBUNG - oxititle - MultiCell provides proper wordwrap eg 2x90 = 180 strings on 2 lines, Position from page eg. left 39 top 130 $oPdf->setFont( 'Arial', '', 8 );
// MultiCell($w, $h, $txt, $border=0, $align='L', $fill=0, $ln=1, $x='', $y='', $reseth=true,[ $stretch=0, $ishtml=false, $autopadding=true, $maxh=0] );
// Cell w=width, h=height, text align L,R,J=left,right,justify, fill=color, ln=line_new 1=beginning of next line,
// x-position, y-position set to $iStartPos adjusted -3.7, reset the last cell height (default true)
 
$oPdf->MultiCell( 90, '', substr( strip_tags( $this->_replaceExtendedChars( $oOrderArt->oxorderarticles__oxtitle->getRawValue(), true ) ), 0, 180), 0, 'L', 0, 1, 39, $iStartPos -3.7, true );

Bei weiterem Bedarf bitte per PM melden.

[QUOTE=mactoo;114033]danke, zeilenumbruch klappt, nur die ganze darstellung der rechnung ist nun total verschoben - schade. …[/QUOTE]

OK, also gar kein Plan? Die Angaben für ‘$oPdf->MultiCell(’ sind etwas umfangreicher. Probier es wie folgt und spiele ein wenig mit den Werten. Der Rest kommt von alleine ;):

$oPdf->MultiCell( /*Breite*/ 100, 1, strip_tags( $this->_replaceExtendedChars( $oOrderArt->oxorderarticles__oxtitle->getRawValue(), true ) )."
",0,'L',0,1,48 /*Abstand links*/, $iStartPos - 3.5 /*Abstand oben*/,true);

Hallo
habe ein ähnlichen Problem.
nur mit der Art.-Nr.
die ist bei uns sehr lang komme auch nicht mit kleinerer schrift gösse hin.
könnte einer von euch mir die Code Zeile hier posten so wie es “rubbercut” gemacht hat .
bekommen es einfach nicht hin.
denke das es um die hier geht.

Original Zeile aus der Datei.

$oPdf->MultiCell(55, $iStartPos, substr(strip_tags($this->_replaceExtendedChars($oOrderArt->oxorderarticles__oxtitle->getRawValue(), true)), 0, 58));

Eigentlich ist oxartnum in Text eingebettet, dessen Breite (28) Du erhöhen kannst, musst aber aufpassen, dass oxtitle, dessen Feld horizontal bei 45 startet, nicht überschrieben wird. Musst halt ein wenig probieren, bis es passt.

$oPdf->text(28, $iStartPos, $oOrderArt->oxorderarticles__oxartnum->value);

1 Like