Napisałem funkcję przesuwającą kolejne znaki (robiącą odstępy) i tworzącą odpowiedniki w pliku PDF:
<?php function znaki($str,$liczba){ for($i=0;$i<strlen($str);$i++) { $liczba_2 .= $liczba+=9; $litera_2 .= $str[$i]; $this->SetXY($liczba_2, 37); $this->Cell(0,0,$litera_2,0,1,C); } } ?>
oraz jej wywołanie
<?php $pdf=new FPDF('L'); //itd $pdf->znaki(1234567890,-415.5); ?>
Funkcję dodałem do już istniejącej klasy FPDF, jednak wynikiem działania jest wyrzucenie nie pliku pdf a znaków zakodowanych.
Pytanie, w jaki sposób należy to poprawnie zapisać by dawało oczekiwane rezultaty.
Dzięki za odpowiedź.
P.S.
Chodzi o to aby wywołanie tej funkcji dało następujący wynik:
<?php $pdf->SetXY(-415.5, 37); $pdf->Cell(0,0,'1',0,1,C); $pdf->SetXY(-406.5, 37); $pdf->Cell(0,0,'2',0,1,C); $pdf->SetXY(-397.5, 37); $pdf->Cell(0,0,'3',0,1,C); $pdf->SetXY(-388.5, 37); $pdf->Cell(0,0,'4',0,1,C); $pdf->SetXY(-379.5, 37); $pdf->Cell(0,0,'5',0,1,C); $pdf->SetXY(-370.5, 37); $pdf->Cell(0,0,'6',0,1,C); $pdf->SetXY(-361.5, 37); $pdf->Cell(0,0,'7',0,1,C); $pdf->SetXY(-352.5, 37); $pdf->Cell(0,0,'8',0,1,C); $pdf->SetXY(-343.5, 37); $pdf->Cell(0,0,'9',0,1,C); $pdf->SetXY(-334.5, 37); $pdf->Cell(0,0,'0',0,1,C); ?>
No i po kilku godzinach ciężkiej pracy uporałem się z tym tematem.
Trzeba zadeklarować nową klasę i gotowe:
<?php class Odstepy extends FPDF { function znaki($str,$poczatek,$osY,$skok){ for($i=0;$i<strlen($str);$i++) { $odstep_stop = $poczatek+=$skok; $litera_stop = $str[$i]; $this->SetXY($odstep_stop, $osY); $this->Cell(0,0,$litera_stop,0,1,C); } } } ?>
Potem odpowiednio zainicjować:
<?php $pdf=new Odstepy('L'); ?>
i wywołać funkcję:
<?php $pdf->znaki($kwota,\"-424.5\",\"37\",\"9\"); ?>
Wszystko pięknie i szybko działa :-)