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

    Problema print_r nel generare file pdf

    Buon giorno, ho questo problema. Genero un file PDF, dopo l'estrapolazione da DB di alcuni dati.Uno in particolare, contiene una striga che va oltre i margini del file generato.
    Per cui ho pensato di splittare, la stringa, dopo un tot di parole, cosi da ottenere più righe.

    UNa volta ottenute le righe desiderate devo poterle stampare, ma il problema è che, se inserisco:
    codice:
    print_r($newtext)."\n"
    mi restituisce questo errore:
    codice:
    FPDF error: Some data has already been output, can't send PDF file
    quello che faccio è questo:
    codice:
    $pdf->addPage(); 
    $n = 0;
    
    //funzione che mi restituisce il conteggio delle parole utilizzate all'interno della variabile $caf_Note
    				if (!function_exists('word_count')) {
    					function word_count($str,$n = "0"){
    					   $m=strlen($str)/2;
    					   $a=1;
    					   while ($a<$m) {
    						   $str=str_replace("  "," ",$str);
    						   $a++;
    						   }
    					   $b = explode(" ", $str);
    					   $i = 0; 
    					   foreach ($b as $v) {
    						   $i++;
    						   }
    					   if ($n==1) return $b;
    					   else  return $i;
    					
    					   }
    					}
    					$str=$caf_Note;
    					$c  = word_count($str,1); // it return an array
    					$d  = word_count($str); // it return int - how many words was in text
    //print_r($c);
    //echo $d;
    
    
    $pdf->Cell(0,5,"___________________________________________________________________________________________________________________________________________",0,1);		
    $pdf->Cell(0,5,"Data Aggiornamento: " . $caf_data_Aggiornamento,0,1);
    
    $newtext = wordwrap($c, 8, "\n", 1);
    //echo "$newtext\n";
    				
    if($d < 5){
    	$pdf->Cell(0,5,"Note: " . $caf_Note ,0,1);
    }
    else{
    	$pdf->Cell(0,5,"Note: " . print_r($newtext)."\n" ,0,1);
    }
    
    $n++; 
    }
    		
    $pdf->Output();

    In pratica come faccio a stampare questo valore, se print_r non lo posso utilizzare?
    Grazie mille...

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Ma dove lo vuoi stampare? :master:
    Se stai generando un documento pdf non puoi mandare a video dell'html...

  3. #3
    utilizza la print_r ma digli di redirigere l'output in modo che possa essere usato come variabile e non a video:

    $pdf->Cell(0,5,"Note: " . print_r($newtext, true )."\n" ,0,1);

    A.
    "perchè tu possa trattenere tutta la rabbia, la forza, l'orgoglio e l'energia che ti porti dentro per poi lasciarla uscire in un'unica grande esplosione così da costruire qualcosa di veramente grosso. usa la testa e spaccagli il kulo!" Grazie Fratello.

  4. #4
    grazie per avermi risposto ma purtroppo, ho ancora dei problemi questi due:
    codice:
    Warning: Wrong parameter count for print_r() in CreaStampaPdfDatiCaf.php on line 229
    
    Warning: Wrong parameter count for print_r() in CreaStampaPdfDatiCaf.php on line 229
    
    FPDF error: Some data has already been output, can't send PDF file
    scusate la riga 229 è questa:
    codice:
    if($d < 5){
    	$pdf->Cell(0,5,"Note: " . $caf_Note ,0,1);
    }
    else{
                //riga 229
    	$pdf->Cell(0,5,"Note: " . print_r($newtext, true )."\n" ,0,1);
    }
    bo...sapete il perchè?grazie ancora

  5. #5
    Quel warning compare se hai una versione del PHP precedente alla 4.3.0. sulla funzione print_r e sul valore di ritorno.

    Che versione hai del php?

    Ti consiglio di guardare la guida del php:

    http://it.php.net/manual/en/function.print-r.php

    e
    http://it.php.net/manual/en/ref.outcontrol.php

    Ciao,
    A.
    "perchè tu possa trattenere tutta la rabbia, la forza, l'orgoglio e l'energia che ti porti dentro per poi lasciarla uscire in un'unica grande esplosione così da costruire qualcosa di veramente grosso. usa la testa e spaccagli il kulo!" Grazie Fratello.

  6. #6
    credo tu abbia ragione, sono mesi che dico al sistemista di aggiornare la versione, ma nn se ne fà niente..!!!Bohhhh!!!

    Comunque, non c'è un'altro modo, per poter splittare una stringa, dopo un tot di parole?Cosi da bypassare il problema che ho?

    grazie ancora

  7. #7
    con la wordwrap crei già una stringa.
    prova semplicemente con:

    Codice PHP:
    $pdf->Cell(0,5,"Note: " $newtext ."\n" ,0,1); 
    A.
    "perchè tu possa trattenere tutta la rabbia, la forza, l'orgoglio e l'energia che ti porti dentro per poi lasciarla uscire in un'unica grande esplosione così da costruire qualcosa di veramente grosso. usa la testa e spaccagli il kulo!" Grazie Fratello.

  8. #8
    no purtroppo, io devo splittare le parole che mantengono la loro lunghezza.
    Non posso trovarmi (a) alla fine della riga 1 e (glio) all'inizio della seconda.
    Utilizzando Wordwrap, incapperei in questo...

    uffaaaaa

  9. #9
    nessuno sà un'altro metodo per ovviare al mio problema?
    grazie mille...

  10. #10
    http://it.php.net/manual/it/function.wordwrap.php

    ti basta non inserire l'ultimo parametro nella funzione wordwrap, ovvero:

    Codice PHP:
    $newtext wordwrap($c8"\n"); 
    Ciao,
    A.
    "perchè tu possa trattenere tutta la rabbia, la forza, l'orgoglio e l'energia che ti porti dentro per poi lasciarla uscire in un'unica grande esplosione così da costruire qualcosa di veramente grosso. usa la testa e spaccagli il kulo!" Grazie Fratello.

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.