Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non ho capito se è una domanda o una affermazione.

    In entrambi i casi però ti suggerisco di andare a vedere il santo sito di fpdf che riporta proprio un esempio delle multicolonne (Tutorial 4!!!)

    Buon lavoro
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #12
    si l'ho visto il tutorial 4 ma non è ciò che serve a me! Nel tutorial 4, suddivide un testo su più colonne.
    Io invece ho 2 differenti colonne, con contenuti differenti e se la prima colonna mi va nel 2° foglio, quando vado a lavorare sulla 2° colonna, questa mi parte dal foglio 2

  3. #13
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Beh allora non è una cosa così semplice.
    Purtroppo non ho il tempo di sistemarti lo script quindi ti consiglio di lavorare sui seguenti punti.

    1) Vedi come funziona AcceptPageBreak (funzione chiamata quando è raggiunta la fine della pagina)

    2) ti salvi la Y dell'inizio pagina

    3) Quando raggiungi la fine della pagina per la prima colonna (E SOLO PER LA PRIMA, mettici un controllo), ti salvi il testo restante e ti sposti in cima alla pagina ma ti piazzi sulla seconda colonna

    4) scrivi la seconda colonna

    5) quando raggiungi la fine della pagina ti salvi il testo restante della seconda colonna e ti sposti sulla nuova pagina

    6) scrivi il testo rimanente della prima colonna...

    e via dicendo

    E' un po' grezzo ma è già un inizio non credi?
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  4. #14
    Ho trovato un'altra soluzione. Ho visto il costruttore di fpdf e l'oggetto ha una variabile page che dice in che pagina ci troviamo. Memorizzo con pageNo il numero di pagina in cui sono all'inizio della prima colonna e poi alla fine così

    codice:
    $paginainizio=$pdf->pageNo();
    
    //codice colonna 1
    
    $paginafine=$pdf->pageNo();
    
    if ($paginainizio!=$paginafine){
       $pdf->page=$paginainizio;
    }
    Così ho risolto in parte... la seconda colonna me la mette nella prima pagina...
    Il problema è che non mi stampa il contenuto della prima colonna che ricade nella seconda pagina...

  5. #15
    Niente ho risolto da sola modificando un po' il file fpdf.php.

    Spiego in breve, nel caso che qualcuno si trovi nella mia situazione...

    Nella dichiarazione delle variabili iniziale ho aggiunto la riga che segnalo con *

    codice:
    class FPDF
    {
    var $page;               //current page number
    * var $page2=0;
    var $n;                  //current object number
    var $offsets;            //array of object offsets
    var $buffer;             //buffer holding in-memory PDF
    var $pages;              //array containing pages
    var $state;              //current document state
    .......
    Ho modificato il costruttore così

    codice:
    function FPDF($orientation='P', $unit='mm', $format='A4')
    {
    	//Some checks
    	$this->_dochecks();
    	//Initialization of properties
    	$this->page=0;
    	* $this->page2=0;
    	$this->n=2;
    	$this->buffer='';
    ..............
    Ed infine ho modificato la funzione _beginpage così

    codice:
    function _beginpage($orientation, $format)
    {
    *if ($this->page!=$this->page2){	
    *	$this->page++;
    *	$this->state=2;
    *	$this->x=$this->lMargin;
    *	$this->y=$this->tMargin;
    *	$this->FontFamily='';
    *	//Check page size
    *	if($orientation=='')
    *		$orientation=$this->DefOrientation;
    *	else
    *		$orientation=strtoupper($orientation[0]);
    *	if($format=='')
    *		$format=$this->DefPageFormat;
    *	else
    *	{
    *		if(is_string($format))
    *			$format=$this->_getpageformat($format);
    *	}
    *	if($orientation!=$this->CurOrientation || $format[0]!=$this->CurPageFormat[0] || $format[1]!=$this->CurPageFormat[1])
    *	{
    *		//New size
    *		if($orientation=='P')
    *		{
    *			$this->w=$format[0];
    *			$this->h=$format[1];
    *		}
    *		else
    *		{
    *			$this->w=$format[1];
    *			$this->h=$format[0];
    *		}
    *		$this->wPt=$this->w*$this->k;
    *		$this->hPt=$this->h*$this->k;
    *		$this->PageBreakTrigger=$this->h-$this->bMargin;
    *		$this->CurOrientation=$orientation;
    *		$this->CurPageFormat=$format;
    *	}
    *	if($orientation!=$this->DefOrientation || $format[0]!=$this->DefPageFormat[0] || $format[1]!=$this->DefPageFormat[1])
    *		$this->PageSizes[$this->page]=array($this->wPt, $this->hPt);
    *}else{
    	$this->page++;
    *	$this->page2++;
    	$this->pages[$this->page]='';
    	$this->state=2;
    	$this->x=$this->lMargin;
    	$this->y=$this->tMargin;
    	$this->FontFamily='';
    	//Check page size
    	if($orientation=='')
    		$orientation=$this->DefOrientation;
    	else
    		$orientation=strtoupper($orientation[0]);
    	if($format=='')
    		$format=$this->DefPageFormat;
    	else
    	{
    		if(is_string($format))
    			$format=$this->_getpageformat($format);
    	}
    	if($orientation!=$this->CurOrientation || $format[0]!=$this->CurPageFormat[0] || $format[1]!=$this->CurPageFormat[1])
    	{
    		//New size
    		if($orientation=='P')
    		{
    			$this->w=$format[0];
    			$this->h=$format[1];
    		}
    		else
    		{
    			$this->w=$format[1];
    			$this->h=$format[0];
    		}
    		$this->wPt=$this->w*$this->k;
    		$this->hPt=$this->h*$this->k;
    		$this->PageBreakTrigger=$this->h-$this->bMargin;
    		$this->CurOrientation=$orientation;
    		$this->CurPageFormat=$format;
    	}
    	if($orientation!=$this->DefOrientation || $format[0]!=$this->DefPageFormat[0] || $format[1]!=$this->DefPageFormat[1])
    		$this->PageSizes[$this->page]=array($this->wPt, $this->hPt);
    *}
    }
    Con * ho segnalato l'area che ho inserito

    In più, nella mia pagina ho aggiunto questo

    codice:
    if ( $iniziopagina != $finepagina ) { 
    		$pdf->page = $iniziopagina;
    		*$pdf->page2 = $finepagina;
    	}
    Quando riaggiornavo la posizione della pagina

    Grazie ;-)

    Ciao ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.