Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    [PHP -FPDF] Caratteri speciali

    Ciao a tutti,

    Ho la necessità di stampare di stampare su un file pdf dei caratteri speciali in particolare come il grado ° e l'equivalente html del tag <sup></sup> <sub></sub> come posso fare? non ho trovato nessun riferimento da nessuna parte
    Che mestiere difficile.....essere da soli ancora di più

  2. #2

    Re: [PHP -FPDF] Caratteri speciali

    Originariamente inviato da Fractals87
    Ciao a tutti,
    Ho la necessità di stampare di stampare su un file pdf dei caratteri speciali in particolare come il grado ° e l'equivalente html del tag <sup></sup> <sub></sub> come posso fare? non ho trovato nessun riferimento da nessuna parte
    E' lo stesso probema, in forma forse diversa che ho posto in un E-mail inviato:

    Ho preso questo esempio dal Vs/ tutorial e fatto piccole modifiche per verificare il suo funzionamento.
    http://www.tcpdf.org/examples/example_002.pdf

    Tutto OK per quanto riguarda l’invio del PDF in linea.
    NO ok per quanto riguarda l’invio dei caratteri del tipo tedesco/danese/italiano/francese : äöüß æ ø àíúèé,
    che potrebbero essere inseriti nella variabile $txt = <<<EOD

    <?php require('/var/www/vhosts/name domain.../httpdocs/tcpdf/config/lang/eng.php');
    require('/var/www/vhosts/name domain.../httpdocs/tcpdf/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    $pdf->setPrintHeader(false);
    $pdf->setPrintFooter(false);
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(PDF_MARGIN_LEFT,PDF_MARGIN_TOP,PDF_MAR GIN_RIGHT);
    $pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('times','BI',15);
    $pdf->AddPage();
    $txt =
    <<<EOD
    Es wird später gebaut werden Für die Zeit-Nutzung ...,
    EOD;
    $pdf->Write($h=0,$txt,$link='',$fill=0,$align='C',$ln=t rue,$stretch=0,$firstline=false,$firstblock=false, $maxh=0);
    $pdf->Output('German.pdf');

    Sarebbe la stessa cosa se io scrivessi nel testo: Questo è un esempio
    inserendo la lettera è

    Ho scritto anche nel forum : http://sourceforge.net/projects/tcpd.../topic/5066199
    ma non capisco dove devo intervenire e su quale file ed a quale riga del file originale.

    Fino ad ora non ho risposte e sembra forse ci siano dei piccoli problemi nelle varie realizzazioni dei software zippati.

  3. #3
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, il vostro problema è che proprio non visualizza i caratteri o li visualizza in maniera errata?

  4. #4
    Originariamente inviato da jcsnake
    Ciao, il vostro problema è che proprio non visualizza i caratteri o li visualizza in maniera errata?
    Non li visualizza e ovviamente passa al carattere successivo.

  5. #5
    Ho rivisto alcune istruzioni relative al setFont dove ho sostituito :

    $pdf->SetFont('times','BI',15);
    con
    $pdf->SetFont('freeserif','BI',15,'',true);

    //dove B corrisponde al grassetto ed I al corsivo, 15 è la dimensione del carattere che puó variare in base alle proprie esigenze

    $txt
    e
    $utf8text

    $pdf->Write($h=0,$txt,....
    con
    $pdf->Write($h=0,$utf8text,....


    <?php
    require('/var/www/vhosts/name domain.../httpdocs/tcpdf/config/lang/eng.php');
    require('/var/www/vhosts/name domain.../httpdocs/tcpdf/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    $pdf->setPrintHeader(false);
    $pdf->setPrintFooter(false);
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(PDF_MARGIN_LEFT,PDF_MARGIN_TOP,PDF_MAR GIN_RIGHT);
    $pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('freeserif','BI',15);
    $pdf->AddPage();
    $utf8text=
    <<<EOD
    Es wird später gebaut werden Für die Zeit-Nutzung ...,
    EOD;
    $pdf->Write($h=0,$utf8text,$link='',$fill=0,$align='C', $ln=true,$stretch=0,$firstline=false,$firstblock=f alse,$maxh=0);
    $pdf->Output('German.pdf');
    ?>

    Ora con questo file appare un carattere strano(il simbolo del punto di domanda dentro ad un rombo nero) cioè un carattere strano.
    Questo l'ho fatto su indicazione ricevuta dal forum americano alla pagina
    http://sourceforge.net/projects/tcpd.../topic/5066199
    ma manca qualche cosa che non ho ancora capito.

  6. #6
    Ho trovato in questo link quello che leggerete, ma non so gestire il tutto qualora questa fosse la via da seguire.

    http://www.tcpdf.org/doc/classTCPDF__UNICODE__DATA.html
    oppure qui
    http://www.tcpdf.org/doc/classTCPDF_...84041eb82190ea

    Sembra ci sia un'istruzione da inserire alla riga
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);

    e forse dovrebbe essere la seguente:
    TCPDF_UNICODE_DATA

    ma non so se si deve creare un file.php e con quale nome con gli script di quelle pagine ed inserirlo nella cartella "font" di tcpdf.

  7. #7
    Sembra che in questa classe non ci siano tutti i codici ASCII alla pagina
    http://www.tcpdf.org/doc/classTCPDF_...84041eb82190ea
    che contiene i vari array
    Ho semplicemente segnalato affinchè possano verificare ed eventualmente inserire dei codi ASII visibili ad una pagina che costruii nel 2001
    http://www.pedigreedatabase.eu/include/ASCII1.php

  8. #8
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Sono bloccato anche io nella tua stessa situazione non riesco a stampare gradi e accenti
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  9. #9
    Io stampo correttamente sia gli apici che il carattere dei gradi. Con html_entity_decode

  10. #10
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Scusami io ho provato cosi ma non fa nulla
    Codice PHP:
                    $this->Cell(0,0,html_entity_decode("Il presente è costituito da "), 00"J"); 
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

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.