Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    stampa tabella in pdf con fpdf

    Ciao a tutti.
    Sto cercando di stampare una tabella in pdf aiutandomi con il seguente esempio :

    Ho dei problemi.
    Ho scaricato fpdf, ho copaiato i file fpdf.css, fpdf.php, cartella font
    Ho copiato brutalmente il codice del esempio in un file chiamato autostampa.php.
    cambiando solo le seguenti parti:
    Codice PHP:
    function connect(){

    require(
    "config.php");
        
    $this->conn mysql_connect($db_host$db_user,$db_password) or die( mysql_error() );
        
    mysql_select_db($db_name,$this->conn) or die( mysql_error() );
        return 
    true;

    Codice PHP:
    $pdf = new PDF('L','pt','A3');
    $pdf->SetFont('Arial','',11.5);
    $pdf->AliasNbPages();
    $pdf->connect();
    $attr=array('titleFontSize'=>18,'titleText'=>'this would be the title');
    $pdf->mysql_report("SELECT * FROM materiale ORDER BY Codice_Materiale LIMIT 100",false,$attr); 
    mi restituisce i seguenti errori:

    Notice: Use of undefined constant FPDF_FONTPATH - assumed 'FPDF_FONTPATH' in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 2

    Notice: Undefined variable: totAlreadyFitted in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 230

    Notice: Undefined offset: 1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 13

    Notice: Undefined variable: fullwidth in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 59

    Notice: Undefined variable: fullwidth in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 110

    Notice: Undefined variable: tmpheight in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Notice: Undefined variable: maxpage in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 131

    Notice: Undefined index: 1-1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Notice: Undefined index: 2-1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Notice: Undefined index: 3-1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Notice: Undefined index: 4-1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Notice: Undefined index: 5-1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Notice: Undefined index: 6-1 in c:\programmi\easyphp1-8\www\auto\autostampa.php on line 128

    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\auto\autostampa.php:2) in c:\programmi\easyphp1-8\www\auto\fpdf.php on line 1022
    FPDF error: Some data has already been output to browser, can't send PDF file

    Un aiuto? Grazie.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non ho guardato il codice dell'esempio, comunque cerca di leggere il contenuto di variabili non ancora definite (come ti dice l'errore).

    L'ideale sarebbe correggere il codice facendo in modo che all'inizio del file siano definite le variabili e gli indici degli array, se non è possibile o vuoi provare a vedere se funziona, modifica la configurazione di easyphp in modo che ti mostri solo gli errori bloccanti e non i warning.

    ciao

  3. #3
    Grazie per avere risposto.
    Ho modificato il php.ini
    decommentando
    codice:
    error_reporting = E_ALL & ~E_NOTICE
    ma da sempre i notice.
    Ho cambiato esempio, questo qui , modificandolo

    Codice PHP:
    <?
    ......

    $pdf=new PDF();
    //Column titles
    $header=array('Codice_Materiale','Descrizione');
    //Data loading

    require('config.php');
    $connessione mysql_connect($db_host$db_user,$db_password) or die("Connessione fallita !"); 
    @
    mysql_select_db($db_name) or die("Selezione Database fallita !"); 

    $sql="SELECT * from materiale"
    // seleziona tutti i record della tabella 

    $risultato_query=mysql_query($sql,$connessione); 
    // controlla il risultato della query attraverso la funzione mysql_query 
    $res_count=mysql_num_rows($risultato_query); 
    // numero totale di records 

    $i=0
    while(
    $riga=mysql_fetch_array($risultato_query)){ 
          
                 
    $IdMateriale=$riga["IdMateriale"]; 
                 
    $CodiceMateriale=$riga["Codice_Materiale"]; 
                 
    $Descrizione=$riga["Descrizione"]; 

                
    $elementi[] = array($IdMateriale$CodiceMateriale$Descrizione);        
                
    $i++; 


    $mioarray=$elementi;
    $data=$pdf->LoadData($mioarray);
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->BasicTable($header,$data);
    $pdf->AddPage();
    $pdf->ImprovedTable($header,$data);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
    $pdf->Output();
    ?>
    Niente da i seguenti
    Warning: file() expects parameter 1 to be string, array given in c:\programmi\easyphp1-8\www\auto\test2.php on line 11

    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\auto\test2.php on line 13

    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\auto\test2.php:11) in c:\programmi\easyphp1-8\www\auto\fpdf1\fpdf.php on line 1022
    FPDF error: Some data has already been output to browser, can't send PDF file
    Un aiuto!

  4. #4
    Scusate se insisto, ma sono bloccato.
    Ho provato il primo esempio su un dominio altervista, è funziona. Eccolo qui .

    In locale, lo stesso non funziona. Mi riporta i seguenti errori:



    Notice: Use of undefined constant FPDF_FONTPATH - assumed 'FPDF_FONTPATH' in c:\programmi\easyphp1-8\www\auto\test3.php on line 2

    Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\auto\test3.php on line 172

    Warning: Division by zero in c:\programmi\easyphp1-8\www\auto\test3.php on line 187

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\auto\test3.php on line 209

    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\auto\test3.php on line 224

    Notice: Undefined variable: totAlreadyFitted in c:\programmi\easyphp1-8\www\auto\test3.php on line 231

    Warning: ksort() expects parameter 1 to be array, null given in c:\programmi\easyphp1-8\www\auto\test3.php on line 238

    Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\auto\test3.php on line 292

    Notice: Undefined offset: 1 in c:\programmi\easyphp1-8\www\auto\test3.php on line 13

    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\auto\test3.php on line 58

    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\auto\test3.php on line 67

    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\auto\test3.php on line 76

    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\auto\test3.php on line 109

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\auto\test3.php on line 115

    Notice: Undefined variable: maxpage in c:\programmi\easyphp1-8\www\auto\test3.php on line 146

    Notice: Undefined variable: fullwidth in c:\programmi\easyphp1-8\www\auto\test3.php on line 147

    Notice: Undefined index: in c:\programmi\easyphp1-8\www\auto\fpdf.php on line 1632

    Notice: Undefined variable: maxpage in c:\programmi\easyphp1-8\www\auto\test3.php on line 149

    Notice: Undefined variable: maxpage in c:\programmi\easyphp1-8\www\auto\test3.php on line 161

    Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\auto\test3.php:2) in c:\programmi\easyphp1-8\www\auto\fpdf.php on line 1022
    FPDF error: Some data has already been output to browser, can't send PDF file

    la parte di codice incriminata dovrebbe essere questa

    Codice PHP:
    .....
    if(
    php_sapi_name()!='cli')
                {
                    
    //We send to a browser
                    
    header('Content-Type: application/pdf');
                    if(
    headers_sent())
                        
    $this->Error('Some data has already been output to browser, can\'t send PDF file');
                    
    header('Content-Length: '.strlen($this->buffer));
                    
    header('Content-disposition: inline; filename="'.$name.'"');
                }
    ...... 
    Avrei bisogno che girasse in locale. Uso easyphp 1.8.0.1
    Qualcuno sa aiutarmi? Grazie.

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.