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

    Visualizzazione tabella in fpdf

    Allora ho fatto una ricerca sia in forum e sui siti ma nulla di fatto:

    Ho creato delle tabelle con dei dati e variabili però nn riesco a definire l'altezza della righe ma solo la distanza delle colonne

    conoscete per caso il comando?
    My simple Script Asp: VotoMedio

  2. #2
    ok ho un altro problema:

    ho creato la tabella tramite l\'estensione e tutto funziona correttamente...

    i dati li prendo da un db per creare il contenuto delle tabelle ma il punto quando un campo ha molti caratteri e deve essere diviso su più pagine

    la prima pagina sce sempre vuota e incomincia a funzionare correttamente dalla seconda in poi!!!!!

    se invece è un repeat di campi \"con nn troppi caratteri al loro interno (l\'importante che nn superi il singolo campo la lunghezza della pagina)\" anche la prima pagina fuziona correttamente!

    grazie

    ecco l'estensione table.ext

    codice:
    var widths;
    this.Table = {Border:{Width:0.1,Color:''},Fill:{Color:''},TextAlign:"J"}
    this.SetColumns=function(){this.widths=arguments;}
    
    this.HexToRGB=function(value){
    var ar=new Array()
    s= new String(value.toUpperCase());
    ar["R"] = parseInt(s.substring(0,2),16);
    ar["G"] = parseInt(s.substring(2,4),16);
    ar["B"] = parseInt(s.substring(4,6),16);
    return ar;
    }
    
    this.Row=function()
    {
    var xdata = arguments
    var xi;var xh;var xnb;
    var xw;
    xnb=0;
    for(xi=0;xi<xdata.length;xi++){xnb=Math.max(xnb,this.NbLines(this.widths[xi],xdata[xi]))};
    
    xh=(xnb)*5;
    this.CheckPageBreak(xh);
    for(xi=0;xi<xdata.length;xi++)
    {
    xw=this.widths[xi];
    xx=this.GetX();
    xy=this.GetY();
    if (this.Table.Border.Width>0||this.Table.Fill.Color!=''){
    var xstyle='';
    this.SetLineWidth(this.Table.Border.Width);
    if(this.Table.Border.Color!=''){
    var RGB = this.HexToRGB(this.Table.Border.Color);
    this.SetDrawColor(RGB["R"],RGB["G"],RGB["B"]);
    xstyle+='D';
    
    }
    if(this.Table.Fill.Color!=''){
    var RGB = this.HexToRGB(this.Table.Fill.Color);
    this.SetFillColor(RGB["R"],RGB["G"],RGB["B"]);
    xstyle+="F"
    }
    this.Rect(xx,xy,xw,xh,xstyle);
    }
    this.MultiCell(xw,5,xdata[xi],0,this.Table.TextAlign);
    this.SetXY(xx+xw,xy);
    }
    this.Ln(xh);
    }
    this.CheckPageBreak=function(xh)
    {
    if(this.GetY()+xh>this.PageBreakTrigger)this.AddPage(this.CurOrientation);
    }
    this.NbLines=function(xw , xtxt)
    {
    var xnb;
    xcw=this.CurrentFont["cw"];
    if(xw==0)xw=this.w-(this.rMargin)-this.x;
    xwmax=((xw)-2*(this.cMargin))*1000/(this.FontSize);
    xs=lib.str_replace("\r","",xtxt);
    xnb=xs.length;
    if(xnb>0 && xs.charAt(xnb-1)=="\n")xnb--;
    xsep=-1;
    xi=0;
    xj=0;
    xl=0;
    xnl=1;
    while(xi<xnb)
    {
    xc=xs.charAt(xi);
    if(xc=="\n")
    {
    xi++;
    xsep=-1;
    xj=xi;
    xl=0;
    xnl++;
    continue;
    }
    if(xc==" ")xsep=xi;
    xl+=(xcw[xc]);
    if(xl>xwmax)
    {
    if(xsep==-1)
    {
    if(xi==xj)xi++;
    }
    else xi=xsep+1;
    xsep=-1;
    xj=xi;
    xl=0;
    xnl++;
    }
    else {xi++;}
    }
    return xnl;
    }
    ˙

    mentre questa è la pagina.asp

    codice:
    <%
    Dim i,pdf
     
    Set pdf=CreateJsObject("FPDF")
    pdf.CreatePDF()
    pdf.SetPath("fpdf/") ' richiamo alla cartella
    pdf.LoadExtension("table")
    pdf.Open()
    pdf.LoadModels("modello1") ' richiamo al modello
    pdf.AddPage()
    'pdf.SetFont "Arial","",9 ' setto il carattere per la cella oggetto
    'pdf.Cell(80)
    'pdf.Cell 0,10,"Lo lascio per prova",0,1
    'pdf.Cell(1)  
    'pdf.Cell 16,5,"Riscontro*",1,1,"C"
    'pdf.Ln(1)
    'pdf.SetFont "Arial","B",10
    'pdf.Cell(25) 'faccio partire la cella da una certa distanza
    'pdf.Cell 0,5,ogget,0,1
    'pdf.Ln(4) ' creo uno spazio di stacco
    pdf.SetFont "Arial","",10 ' setto il carattere per la cella azione
    pdf.Table.Border.Width = 0.1
    'pdf.Table.Border.Color="000000" ' se voglio o non voglio il bordo
    pdf.Table.Fill.Color="FFFFFF"
    pdf.Table.TextAlign = "L"
    
    pdf.SetColumns 22,168',30,40
    'for i=0 to 10
    While ((Repeat1__numRows <> 0) AND (NOT Rs_ogg.EOF)) 
      
      pdf.Row "[_______]","- " + Rs_ogg("Azione")',"3","4"
      pdf.Ln(4)
      
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      Rs_ogg.MoveNext()
    Wend
    'next
    ' inizio ripetizione azioni
    'While ((Repeat1__numRows <> 0) AND (NOT Rs_ogg.EOF)) 
    
    'pdf.MultiCell 0,5,"- " + Rs_ogg("Azione"),0,1
    
      'Repeat1__index=Repeat1__index+1
      'Repeat1__numRows=Repeat1__numRows-1
      'Rs_ogg.MoveNext()
    'Wend
    'fine ripetizioni azioni
    'for i=0 to 40
     ' pdf.MultiCell 0,10,"Printing line number " & i,0,1
    'Next
    pdf.Close()
    pdf.Output()
    %>
    Allora vi ho dato la pagina originale per farvi vedere che ho fatto numerose prove al fine di avere un risultato
    metto gli apici quando alcune cose nn le voglio far uscire

    Aiutatemi vi prego
    My simple Script Asp: VotoMedio

  3. #3

    ho il tuo stesso problema..

    come da titolo..

    se la stringa caricata nella cella è troppo lunga, la cella scappa sulla seconda pagina lasciando un antiestetico spazio bianco in prima pagina..

    avete soluzioni su come splittare la cella?

    grazie mille, simone

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    anche io ho lo stesso problema posto nell'apertura di questo post.

    Come si definisce l'altezza di una cella?
    Row non accetta parametri e non riesco ad includere all'interno di questa oggetto "Cell" (magari funzionava :master: )

    Saluti a tutti

  5. #5
    Originariamente inviato da mosquito70
    anche io ho lo stesso problema posto nell'apertura di questo post.

    Come si definisce l'altezza di una cella?
    Row non accetta parametri e non riesco ad includere all'interno di questa oggetto "Cell" (magari funzionava :master: )

    Saluti a tutti

    comincia a convivere col fatto che fpdf ha forti limiti. continua a cercare su google però se non trovi molto proba bilmente sta a significare che determinate cose non si possano fare


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.