Eingabefeld rechtsbündig mit TCPDF
Linuchs
- php
Moin,
mit TCPDF erstelle ich ein ausfüllbares PDF-Dokument mit vorbelegten Werten. Hintergrundbild ist ein GEMA-Formular, deshalb muss genau positioniert werden.
Werte in Zahlenfeldern hätte ich gerne rechtsbündig, dieses
['alignment' => 'right']
funktioniert aber nicht:
$blatt_1 = [
// name, width, height, align (R)ight. left(mm), top(mm), Checkbox, Schriftgroesse in pt
...
,['veranstaltung_einnahme', 20, 6, 'R', 58, 224 ]
,['veranstaltung_besucher', 25, 6, 'R', 136, 224 ]
...
];
/* *************************************
* Felder auf Bild Blatt 1 setzen
* ************************************* */
for ( $i=0; $i < count($blatt_1); $i++ ) {
// abweichende Schriftgrösze
if ( $blatt_1[$i][7] ) $pdf->SetFontSize( $blatt_1[$i][7] . "pt");
// Chackbox-Haken
if ( $arr_form[ $blatt_1[$i][0] ] && $blatt_1[$i][6] ) {
$pdf->TextField( $blatt_1[$i][0], $blatt_1[$i][1]."mm", $blatt_1[$i][2]."mm", [], ['v' => 'X'], $blatt_1[$i][4]."mm", $blatt_1[$i][5]."mm", FALSE );
}
// Wert rechtsbuendig (Value v 0 wird nicht eingetragen)
else if ( $arr_form[ $blatt_1[$i][3] ] == 'R' ) {
// $pdf->TextField( $blatt_1[$i][0], $blatt_1[$i][1]."mm", $blatt_1[$i][2]."mm", ['alignment' => 'right'], ['v' => ''.$arr_form[ $blatt_1[$i][0] ]], $blatt_1[$i][4]."mm", $blatt_1[$i][5]."mm", FALSE );
$pdf->TextField( $blatt_1[$i][0], $blatt_1[$i][1]."mm", $blatt_1[$i][2]."mm", ['alignment' => 'right'], ['v' => ''.$arr_form[ $blatt_1[$i][0] ]], $blatt_1[$i][4]."mm", $blatt_1[$i][5]."mm", TRUE );
// Daten linksbündig im Feld
} else {
$pdf->TextField( $blatt_1[$i][0], $blatt_1[$i][1]."mm", $blatt_1[$i][2]."mm", [], ['v' => ''.$arr_form[ $blatt_1[$i][0] ]], $blatt_1[$i][4]."mm", $blatt_1[$i][5]."mm", FALSE );
}
$pdf->SetFontSize( "10pt");
}
Woran liegt's?
Zusatzfrage: Wenn der Wert 0 ist (keine Einnahmen) wird die Ausgabe value 'v' ignoriert. Habe dem Wert ein ''.
vorangestellt, um einen String zu erzwingen, nützt nichts.
Gruß, Linuchs
Ich weiß es nicht wirklich, aber ich habe den Quellcode mal lesbar formatiert …
$pdf->TextField(
$blatt_1[$i][0],
$blatt_1[$i][1]."mm",
$blatt_1[$i][2]."mm",
[ 'alignment' => 'right' ],
[ 'v' => '' . $arr_form[ $blatt_1[$i][0] ],
$blatt_1[$i][4]."mm",
$blatt_1[$i][5]."mm",
FALSE
);
$pdf->TextField(
'number_of_crews',
20,
5,
array(
'charLimit'=>3,
'multiline'=>true,
'lineWidth'=>0,
'borderStyle'=>'none',
'alignment'=>'right',
'defaultStyle' => array(
'textFont'=>array(
'fontWeight'=>'bold'
)
)
),
array(
'v' => {number_of_crews}
)
);
Mir deucht, der Aufbau Deines Array ist anders als das Beispiel.