Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    FPD - Problema ritorno a capo

    Buongiorno. Sto iniziando ad usare fpdf e ho un dilemma.
    Devo creare un pdf che contiene titolo di un determinato font, sottotitolo di un altro font, abstract e poi il testo.
    Il contenuto viene preso da db a seconda di un parametro che gli passo con il get.
    Io non so quindi la lunghezza che avrà il testo, l'abstract, il titolo, e il sottotitolo.
    Ho utilizzato multicell, perchè con solo il cell mi mette tutto su una riga senza ritorni a capo.
    Il problema è questo:
    utilizzando il multicell non posso dirgli che il contenuto successivo deve partire dalla riga dopo come con il cell (con ln = 1), quindi come gli imposto il SetXY?
    Questo è un pezzo del mio codice

    codice:
    	$pdf -> SetXY(15,30);
    	$pdf -> SetFont('Arial', 'B', 12 );
    	$pdf -> SetTextColor(110);
    	$pdf -> MultiCell(130,6,html_entity_decode($articolo['titolo'],ENT_QUOTES),0,1);
    	$pdf -> SetXY(15,36);
    	$pdf -> SetFont('Arial', '', 12 );
    	$pdf -> MultiCell(130,5,html_entity_decode($articolo['sottotitolo'],ENT_QUOTES),0,1);
    	$pdf -> SetFont('Arial', '', 10 );
            $pdf -> SetTextColor(220,150,0);
    	$pdf -> SetXY(15,50);
    	$pdf -> MultiCell(130,5,$abstract,0,1);
    	$pdf -> SetXY(10,70);
    	$pdf -> SetFont('Arial', '', 10 );
    	$pdf -> SetTextColor(0);
            $pdf -> MultiCell(130,5,$testo,0,'J');
    Facendo in questo modo però, se l'abstract è più lungo di 20, testo e abstract si sovrappongono. C'è un modo per misurare l'altezza del testo? Ho visto GetStringWidth ma non ho capito bene il suo funzionamento, mi sa che misura la lunghezza del testo su una stessa riga.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    che versione di pdflib hai in uso? alcune funzioni variano leggermente a seconda della versione

    Codice PHP:
    # prima di tutto cerca il font in uso
    $font_id pdf_findfont($pdf'Courier''host'0);
    # a questo punto chiama la funzione pdf_stringwidth                                                 
    $larghezza pdf_stringwidth($pdf$stringa$font_id$font_dimensione)); 
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Scusa ma il MultiCell scrive su più righe e alla fine sposta il resource alla linea successiva a dove ha terminato.

    Semmai puoi aggiungere un
    Codice PHP:
    // Manda a capo il puntatore
    $pdf->Ln(); 
    @diaz è Fpdf non pdflib
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  4. #4

  5. #5
    Ah un'altra cosa... I testi che metto dentro li ho generati con un editor tiny_mce, quindi contengono caratteri speciali. Come faccio a rimuoverli tutti?
    Ho provato ad utilizzare html_entity_decode ma non è sufficiente. Tanti caratteri non me li sustituisce. Sto facendo il replace di tutto ciò che non riconosce, tipo i[*]... ma il problema è... se ho degli <a href="...."> come faccio a toglierli? Non posso usare un replace perchè non conosco a priori il contenuto del link

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Se devi togliere i tag:
    strip_tags()

    Per il resto va bene html_entity_decode.

    Se devi tirare fuori un link cerca un parser con google, vedrai che lo trovi, oppure prova a vedere tra gli script nel sito di Fpdf, ce ne sono tanti, magari c'è pure quello.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  7. #7
    Un'altra cosa ma se devo inserire un'immagine tra l'abstract ed il testo? Con image devi proprio dargli la posizione, ma non so quando è lungo l'abstract, e quindi non so cosa mettere come y...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Finito di scirivere l'abstract fai

    Codice PHP:
    $pdf->GetY() 
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  9. #9
    GRAZIEEEEEEEEEEEEEEEEEEEEEE

  10. #10
    Continuo a rompere... Ma se ho 2 colonne, prima inserisco il contenuto della prima colonna e poi inserisco il contenuto della 2°.
    Ma se la prima colonna è troppo lunga e va in un'altra pagina? Quando creo la seconda colonna me la crea nel secondo foglio :-(

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