Newsgroup: it.comp.www.php
Titolo: FPDF E LINUX

Ciao a tutti,
Ho un problema con FPDF, ho approntato alcuni script php per la generazione 
di file pdf utilizzando FPDF, fantastico, funziona tutto sotto windows con 
easyphp, forte di questo, ho trasferito il tutto su un server linux, dove al 
momento dell'apertura del file pdf ottengo il seguente messaggio:
Adobe Reader
        Il file è danneggiato e non può essere riparato
Mi hanno consigliato di salvare il file sul server e poi reindirizzare lo 
script sul file salvato. Ovviamento ottengo lo stesso risultato.....
Spero che qualcuno possa darmi informazioni a proposito. Grazie ancora e 
saluti. Alessandro.

 
Sei sicuro che non sia dovuto a qualche alert/notice che ti "sporca" il 
file pdf, visto che esegui direttamente un output verso il browser? 
Controlla le impostazioni di error reporting in entrambi i server.
	Francesco

 ha scritto nel messaggio 
news:fn4g9p$d02$1...@newsserver.cilea.it...


 
Come fai per generare il pdf? Utilizzi il metodo output()?
In tal caso puoi fare una prova: commenti il metodo, esegui lo script e 
controlli se nel sorgente della pagina html generata c'e' qualcosa (non 
ci deve essere assolutamente niente).
Per tornare alla tua richiesta iniziale, sempre se usi il metodo 
output(), specifica il parametro F e il nome del file, poi puoi fare un 
redirect verso l'indirizzo 
www.sito.it/aa/bb/file.pdf
Ovviamente il nome del file deve gestire un'eventuale concorrenza, 
quindi potresti appoggiarti all'id di sessione o simili
	Francesco

 ha scritto nel messaggio 
news:fn4mvo$e7b$1...@newsserver.cilea.it...


 sotto linux e la parte finale del file è completamente diversa: Windows:
Forse sul server hai attiva la compressione gzip dei file HTML e ti sei 
dimenticato di settare il Content-type, o comunque il server crede sia un 
file comprimibile e lo gzippa, ma il client non riesce a decomprimerlo.
Bye.

 ha scritto nel messaggio 
news:5vmc50F...@mid.individual.net...


 devo cercare il parametro al quale ti riferisci "Content-type" ?
Nella pagina che genera il PDF devi avere delle righe
header("Content-type: application/pdf");
piu` altre per evitare la cache e/o per forzare il download.
Se imposti il content-type sbagliato, il webserver prende quello di 
default (text/html), e potrebbe avere un modulo (mod_deflate per apache2, 
per esempio) che, quando trova text/html, gzippa tutto prima di mandarlo 
al browser.
Non so se FPDF crei gia` di suo gli header, ma non credo, perche` potresti 
voler salvare il file invece che spedirlo al client. Dai un occhio alla 
documentazione.
Bye.

 ha scritto nel messaggio 
news:5vmd3gF...@mid.individual.net...


 
Attraverso il metodo output() se imposti come inline, provvede a buttar 
fuori gli header e il file pdf.
 
	Francesco

 
Allora, altra prova!
Se fai $pdf_>output('F', '/var/xx/yyy/pippo.pdf'); salvi sul file il 
documento pdf. A questo punto, esegui il download del pdf, senza aprirlo 
da browser, lo salvi in locale (sul tuo client) e lo provi ad aprire con 
acrobat (ormai l'ho scritto, ma sono sicuro che hai già provato!)
Strano il fatto che differisce solo la parte finale del pdf, quindi 
l'ipotesi di Alessandro relativa ad una possibile compressione viene meno.
Ovviamente la versione di fpdf è la solita e non usi nessun font 
particolare che non trova su linux, vero? hai fatto una prova semplice, 
modello un hello world su pdf??
	Francesco

 ha scritto nel messaggio 
news:ONnlj.53$H45...@nntpserver.swip.net...


 Ora si che sono incasinato.... cosa guardo..... sigh....
Nei log di apache c'e' niente di particolare?
Quindi se esegui output('F',...) lui svolge tutto il lavoro senza batter 
ciglio ma il file non è valido, vero? Dal confronto dei file pdf hai 
errori solo nella parte finale? E le dimensioni dei file pdf?? 
Inclusione di qualche immagine nel documento pdf corrotta??
Sto tirando a caso...
	Francesco

 ciglio ma il file non č valido, vero? Dal confronto dei file pdf hai 


Credo di aver individuato il punto dove causa il problema.....
quando richiamo questa funzione (ho commentato tutto il resto) viene 
generato l'errore... se commento la riga 5 funziona... se la eseguo da 
l'errore....
originariamente la riga 4 era cosě: $this->Cell(140,14,'',1,1); con il 
valore 140 dava errore con 139 no....
Ora davvero comincio ad essere piů inc........o di prima.
1. function TestaPagina($zona, $pag)
2. {
3.         $this->Cell(44,14,'',1,0,'C');
4.         $this->Cell(139,14,'',1,1);
5.         $this->Text(10,10,'TESTOCol1.');
6. }