Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    Progress Bar durante generazione di PDF.

    Salve a tutti.

    Ho una pagina home con un link:

    Il file riepilogo.php genera un report PDF usando Fpdf, ma ci mette circa 3 minuti (su un dual core!).

    Come faccio a visualizzare una progress bar durante la generazione del pdf?

    Fpdf invia l'header e non c'è possibilità di visualizzare qualcosa che mostri lo stato di generazione del PDF.

    Help!! Help!!
    Ubuntu 7.10 - JAVA: JDK 1.6.0 - MSI Megabook S262

    www.digital2b.com
    Gestione Documentale e Archiviazione Ottica Sostitutiva

  2. #2
    puoi usare una progress bar di una libreria ajax, tipo quella di dojo toolkit

  3. #3
    Ho dato un'occhiata ma non ho idea di come funzioni. Molte progress bar sono per l'upload di un file.

    Come funziona la cosa?

    Io ho un file php di questo tipo:

    Codice PHP:
    <?php 

    // Includi database
    require_once('../inc/database.php'); 

    // Includi libreria
    require('../include/fpdf/WriteTag.php');

    session_start();

    class 
    PDF extends WriteTagPDF {
    function 
    Header() {
        [...]
    }

    function 
    Footer() {
        
    $this->SetY(-15);
        
        
    //Arial italic 8
        
    $this->SetFont('Arial','I',8);
        
    // $this->Write(10,'Documento stampato il '.date('d-m-Y').' alle '.date('H:i').' - ');

        
    $this->Write(10,'Documento stampato - ');
        
    $this->SetTextColor(0,0,255);
        
    $this->SetFont('','U');
        
    $this->Write(10,'Digital 2B s.n.c.','http://www.digital2b.com');
        
    $this->SetTextColor(0,0,0);
        
    $this->SetFont('Arial','I',8);
        
        
    $this->Line(10285200285);
        
    //Page number
        
    $this->Cell(0,10,'Pagina '.$this->PageNo().'/{nb}',0,0,'R');
    }


    }

    $pdf=new PDF();
    $pdf->SetCompression(true);
    $pdf->SetTitle('Rendiconto');
    $pdf->AliasNbPages();
    $pdf->Open();
    $pdf->AddPage('P');

                
    mysql_select_db($database_1$database);
                
    $query1 "SELECT * FROM tabella";
                
    $fatturazione1 mysql_query($query1$database);
                
    $r mysql_fetch_assoc($fatturazione1);

    [...]
        
                
    mysql_select_db($database_1$database);
                
    $query2 "SELECT * FROM tabella";
                
    $fatturazione2 mysql_query($query2$database);
                
    $r mysql_fetch_assoc($fatturazione2);
                


    $pdf->SetFont('Arial','B',10);
    $pdf->Cell(20);
    $pdf->SetFont('Arial','',10);
    $pdf->Cell(20,8,$r['Campo'],0,0,'R');

    [...]

    // fine ultima pagina

    $nomefile "test.pdf";
    $pdf->Output($nomefile"I");

    mysql_free_result(...);
    ?>
    Come faccio sul browser a mostrare una barra con la progressione delle query?

    Avevo pensato a due frame

    Frame superiore:
    Codice PHP:
    while(1) {
     
    // controlla $_SESSION['progressione']
     // stampa la barra di progressione in base al valore della variabile

    Frame inferiore: file che genera il PDF e modifica il valore della variabile $_SESSION['progressione']

    Ma fare qualcosa in AJAX non sarebbe male. Ma ho bisogno di un esempio pratico che non sia l'upload di un file!
    Ubuntu 7.10 - JAVA: JDK 1.6.0 - MSI Megabook S262

    www.digital2b.com
    Gestione Documentale e Archiviazione Ottica Sostitutiva

  4. #4
    visto che aprlavo del dojo toolkit, il miglior tool open source per ajax guarda qua http://dojotoolkit.org/book/dojo-boo...k/progress-bar

  5. #5
    Originariamente inviato da Emulman
    visto che aprlavo del dojo toolkit, il miglior tool open source per ajax guarda qua http://dojotoolkit.org/book/dojo-boo...k/progress-bar
    Non ho codice html nel file php che genera il PDF, non posso mostrare codice html, perchè alla fine ho un header in cui specifico che il contenuto che mostro è PDF.
    Ubuntu 7.10 - JAVA: JDK 1.6.0 - MSI Megabook S262

    www.digital2b.com
    Gestione Documentale e Archiviazione Ottica Sostitutiva

  6. #6
    però potresti metterlo prima delle istruzioni che generano il PDF

  7. #7
    eh no,
    nel momento in cui invio codice html al browser dalla pagina php ho già inviato gli header.

    Quindi un ulteriore invio di un 'header' mostrerebbe un errore.

    Warning: Cannot modify header information - headers already sent by ...
    Ubuntu 7.10 - JAVA: JDK 1.6.0 - MSI Megabook S262

    www.digital2b.com
    Gestione Documentale e Archiviazione Ottica Sostitutiva

  8. #8
    è un po seccante senza frame
    se ti danno noia i frame potresti usare un pop up con un frame al 100%
    o un frame al 100%con un javascript in posizione assoluta
    ma sempre col cookie tipo $session etc
    fammi sapè!

  9. #9
    La storia dei frames non funge.

    Va tutto in crash.
    Ubuntu 7.10 - JAVA: JDK 1.6.0 - MSI Megabook S262

    www.digital2b.com
    Gestione Documentale e Archiviazione Ottica Sostitutiva

  10. #10
    in pratica, il generatore di pdf crasha passando il nuovo valore al cookie?
    in teoria non dovrebbe

    prendi 10 punti dello script(anche due per provare) e gli fai fare due assegnazioni di $cookie.

    l'altro frame ogni 3 sec legge il valore e si aggiorna fino ad arrivare al valore massimo

    perché crasha? va in loop infinito il frame della bar?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.