marcus-42
Goto Top

TCPDF: Linker Abstand

Hallo,

nach langer Nutzung der FPDF-Bibliothek bestreite ich nun einen Wechsel auf TPDF, da einige bereits implementierte Funktionen wie Barcodes und der UTF8-Support einfach praktisch sind.

In meinem ersten Dokument habe ich ein Problem mit dem linken Seitenrand: Dieser wurde gesetzt (rote Linien), verschiebt sich jedoch an einigen Stellen nach innen:

bildschirmfoto 2023-05-29 19-32-46@2x

$pdf->SetMargins(SEITENABSTAND_LINKS, SEITENABSTAND_OBEN, SEITENABSTAND_RECHTS, false);
...
$pdf->Write(ZEILENHOEHE, 'Aufstellung der anfallenden...', '', 0, '', true, '', true, true, false);  
$pdf->SetFont(SCHRIFTART, '', SCHRIFTGROESSE);  
$pdf->SetTextColor(0,0,0);
$pdf->Ln(10);

$pdf->Write(ZEILENHOEHE, 'Folgende Beträge... ', '', 0, '', true, 0, true, true, false);  
$pdf->Ln(ZEILENABSTAND);

$pdf->Cell( 120,  TABELLE_ZEILENHOEHE,  "Position",  'B',  0,  'L',  false,  '',  0,  false, 'T', 'M' );  
$pdf->Cell( 0,  TABELLE_ZEILENHOEHE,  "Betrag",  'B',  1,  'R',  false,  '',  0,  false, 'T', 'M' );  

$pdf->Cell( 120,  TABELLE_ZEILENHOEHE,  "Lektüre",  'B',  0,  'L',  false,  '',  0,  false, 'T', 'M' );  
$pdf->Cell( 0,  TABELLE_ZEILENHOEHE,  "9,99 EUR",  'B',  1,  'R',  false,  '',  0,  false, 'T', 'M' );  

$pdf->SetFont(SCHRIFTART, 'B', SCHRIFTGROESSE);  
$pdf->Cell( 120,  TABELLE_ZEILENHOEHE,  "Gesamt",  'T',  0,  'L',  false,  '',  0,  false, 'T', 'M' );  

$pdf->SetFont(SCHRIFTART, '', SCHRIFTGROESSE);  
$pdf->Ln(ZEILENABSTAND);
$pdf->Write(ZEILENHOEHE, "Bitte überweisen Sie...\n", '', 0, 'J', true, 0, false, false, 0, 0, 0);  

Innerhalb der Tabelle stört mit das Padding nicht, doch im darauffolgenden Abschnitt ("Bitte...") würde ich gern wieder bündig zur roten Linie stehen.

Kann mir jemand auf der Suche nach der Lösung weiterhelfen?

Grüße aus dem sonnigen Rheinland
Marcus

Content-Key: 7350378638

Url: https://administrator.de/contentid/7350378638

Printed on: July 19, 2024 at 08:07 o'clock

Member: Crusher79
Crusher79 May 29, 2023 at 22:30:03 (UTC)
Goto Top
Hallo,

gute Frage. Kenne das Tool nicht. Wenn ich mir den Code ansehe fällt mir nur auf, dass du einfache und doplleten Anführungszeichen verwendest.

Normal sollte String String sein. Was wenn du es komplet mit " " schreibst? Unten kommt ja noch ein "new-line" mit rein. Das sollte ja nicht mit Teil des angezeigten Strings sein. Ich würde es mal mit " " probieren.

mfg Crusher
Member: Marcus-42
Solution Marcus-42 May 30, 2023 at 03:49:35 (UTC)
Goto Top
Hallo Crusher

und danke für die Überlegungen. Ich habe die Schreibweise gleich mal vereinheitlicht, was jedoch das Problem leider nicht löst.

Ich habe die Lösung aber wohl gefunden: Beim Einrichten der Seite folgende Zeile ergänzt:

$pdf-> SetCellPaddings(0,0,0,0);

Zwar hätte ich erwartet, dass sich die Einstellung nur auf Zellen auswirkt, doch scheinbar übernimmt TCPDF den Versatz auch für folgende Textabschnitte.

Für mich und meinen Anwendungsfall ist das ok, doch wenn man das CellPadding bewusst einsetzen möchte... Doof irgendwie.