creazione e stampa file pdf mediante PHP

Franciosi

Nuovo Utente
20 Apr 2009
4
0
0
Sono un neofita sul php ed ho scritto questo codice per leggere un txt e creare un pdf.
Non riesco ad effettuare il salto pagina mi potreste dire come deve essere fatto?
Inoltre ho la necessita' di creare piu' pagine nello stesso pdf come quale e' il comando per crearle?
Inoltre dopo aver creato il PDF, lo devo stampare. Per ogni pagina devo stampare due copie e inviarlo alla stampante come devo fare?
Ringrazio e saluto chi mi puo' essere di aiuto.

// Impostiamo un nuovo documento pdf
$pdf = pdf_new();

// Apriamo e settiamo il nome del file
pdf_open_file($pdf, "miapagina.pdf");

// impostiamo la nuova pagina (A4)
// specificandone larghezza e altezza
pdf_begin_page($pdf, 595, 842);

// Prepariamo ed usiamo un carattere (Arial)
$font = pdf_findfont($pdf, "Courier New", "host", 1); pdf_setfont($pdf, $font, 9);

$totaleimponibile=0;
$totaleimposta=0;
$appo='';
$piede = "Rif. scontr. n. cassa n. del";
$piede1 = "Matr. n. Lo";
$piede2 = "DESTINATARIO";
$npag=0;
$fi = @fopen("c:\\confront\\stpfatt\\XXXX.txt", "r");
$count=0;
$riga=12;
While (!feof($fi)) {
$rigi = fgets($fi,140);
$count++;
$rsc = substr($rigi,84,12);
switch($count) {
case 10:
$numfat = substr($rigi,47,10);
break;
case 11:
$intesta = substr($rigi,63,30);
break;
case 12:
$data = substr($rigi,2,10);
$numcli = substr($rigi,53,4);
$intesta1 = substr($rigi,63,30);
break;
case 13:
$ristampa = substr($rigi,47,9);
$indirizzo = substr($rigi,63,35);
break;
case 14:
$citta = substr($rigi,63,20);
$ivacodf = substr($rigi,2,45);
break;
case 15:
$cap = substr($rigi,63,20);
case 17:
$lpart = substr($rigi,2,45);
break;
case 19:
$ldest = substr($rigi,63,22);
break;
case 20:
$aspetto = substr($rigi,2,24);
$colli = substr($rigi,50,2);
break;
}
if ($rsc=='Rif. scontr.'){
$npag++;
}
}
$fi = @fopen("c:\\confront\\stpfatt\\XXXX.txt", "r");
for ($x=1;$x<=$npag;$x++) {

pdf_show_xy($pdf,$numfat, 210, 740);
pdf_show_xy($pdf,$intesta, 296, 736);
pdf_show_xy($pdf,$data, 20, 718);
pdf_show_xy($pdf,$x, 168, 720);
pdf_show_xy($pdf,$numcli, 215, 715);
pdf_show_xy($pdf,$intesta1, 296, 724);
pdf_show_xy($pdf,$ristampa, 487, 727);
pdf_show_xy($pdf,$indirizzo, 296, 714);
pdf_show_xy($pdf,$citta, 296, 703);
pdf_show_xy($pdf,$ivacodf, 20, 690);
pdf_show_xy($pdf,$cap, 296, 689);
pdf_show_xy($pdf,$lpart, 20, 650);
pdf_show_xy($pdf,$ldest, 296, 615);
pdf_show_xy($pdf,$aspetto, 20, 617);
pdf_show_xy($pdf,$colli, 217, 616);
pdf_show_xy($pdf,$piede, 355, 200);
pdf_show_xy($pdf,$data, 540, 200);
pdf_show_xy($pdf,$piede1, 355, 180);
pdf_show_xy($pdf,$piede2, 388, 92);
$rigi = fgets($fi,140);
$cost = substr ($rigi,80,4);
while ($cost<>'ZZZZ') {
$rigi = fgets($fi,140);
$cost = substr ($rigi,80,4);
}
$sepa = substr($rigi,39,1);
$riga=585;
while ($rigi<>'') {
$imponibile = substr($rigi,35,7);
$part = substr($rigi,2,1);
$umisura = substr($rigi,63,2);
$articolo = substr($rigi,2,34);
$pezzi = substr($rigi,74,14);
$cost = substr ($rigi,80,4);
$prezzo = substr($rigi,97,6);
$importo = substr($rigi,119,7);
$iva = substr($rigi,135,4);
$scontrn = substr($rigi,85,15);
$cassan = substr($rigi,109,18);
$dtpiede = substr($rigi,127,14);
$matricola = substr($rigi,85,12);
$dest = substr($rigi,84,12);
$stp = substr($rigi,80,3);
if ($stp=='ZZZ') {
pdf_show_xy($pdf,$articolo, 20, $riga);
pdf_show_xy($pdf,$umisura, 285, $riga);
pdf_show_xy($pdf,$pezzi, 310, $riga);
pdf_show_xy($pdf,$prezzo, 390, $riga);
pdf_show_xy($pdf,$importo, 510, $riga);
pdf_show_xy($pdf,$iva, 570, $riga);
}
$riga=$riga-5;
$rigi = fgets($fi,140);
$sepa = substr($rigi,39,1);
if ($sepa==','){
$rigo=$rigi;
$rigi='';
}
}
$riga=170;
if ($x==$npag){
for ($i=1;$i<=4;$i++) {
$imponibile = substr($rigo,35,7);
$aliva = substr($rigo,53,4);
$imposta = substr($rigo,69,6);
pdf_show_xy($pdf,$imponibile, 148, $riga);
pdf_show_xy($pdf,$aliva, 230, $riga);
pdf_show_xy($pdf,$imposta, 280, $riga);
$rigo = fgets($fi,140);
$riga=$riga-10;
}
for ($i=1;$i<=7;$i++) {
$rigo = fgets($fi,140);
}
$totimpos = substr($rigo,32,7);
$totimon = substr($rigo,67,7);
$totale = substr($rigo,112,7);
pdf_show_xy($pdf,$totimpos, 148, 65);
pdf_show_xy($pdf,$totimon, 280, 65);
pdf_show_xy($pdf,$totale, 450, 65);

}
$pdf->AddPage('', true, 2);
}
@fclose($fi);

// chiudiamo la pagina
pdf_end_page($pdf);

// chiudiamo e salviamo il file
pdf_close($pdf);
?>
 
necessita'

devo inserire una pagina vuota e successimanete continuare a scrivere altri dati, sostanzialmente deve creare un file PDV con piu' pagine.
Inoltre devo successivamente stamparlo, 2 copie per ogni pagina in questa sequenza:
2 copie della prima pagina, 2 copie delle saeconda e cosi via.
inoltre sto utilizzando la class php_pdf.dll.
Saluto e ringrazio
 

Discussioni simili