Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Multicelle per tcpdf

  1. #1

    Multicelle per tcpdf

    Fino a qui ci sono arrivato adesso non so piú andare avanti dovendo dividere le celle dalla seconda alla quarta colonna in delle altre celle.

    Mi spiego con il primo esempio:
    la prima colonna la devo dividere in due celle
    la seconda colonna la devo dividere in quattro celle,
    la terza colonna la devo dividere in otto celle,
    la quarta colonna la devo dividere in sedici celle.

    <?php
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/config/lang/eng.php');
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FON T_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA,'',PDF_FON T_SIZE_DATA));
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(PDF_MARGIN_LEFT,PDF_MARGIN_TOP,PDF_MAR GIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('times','B',6);
    $pdf->AddPage();
    $pdf->setCellPaddings(1, 1, 1, 1);
    $pdf->setCellMargins(0,0,0,0);
    $pdf->SetFillColor(255, 255, 255);
    $txt1='1-2 Cella da dividere in 2 celle orizzontali';
    $txt3='3-4-5-6 Cella da dividere in 4 celle orizzontali';
    $txt7='7-8-9-10-11-12-13-14 Cella da dividere in 8 celle orizzontali';
    $txt15='15-16-17-18-19-20-21-22-23-24-25-26-27-28-29-30 Cella da dividere in 16 celle orizzontali';
    $pdf->MultiCell(42, 25, ''.$txt1, 1,'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(68, 25, ''.$txt3, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(42, 25, ''.$txt7, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(42, 25, ''.$txt15, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->Output('multicellepergenealogia.pdf');
    ?>

    oppure nel secondo esempio
    dividere il tutto in un altro modo sdoppiando per spiegarmi la linea del padre da quella della madre e dividendo come segue:
    la prima colonna del padre non la devo dividere,
    la seconda colonna del padre la devo dividere in due celle,
    la terza colonna del padre la devo dividere in quattro celle,
    la quarta colonna del padre la devo dividere in otto celle.

    la prima colonna del madre non la devo dividere,
    la seconda colonna del madre la devo dividere in due celle,
    la terza colonna del madre la devo dividere in quattro celle,
    la quarta colonna del madre la devo dividere in otto celle.

    <?php
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/config/lang/eng.php');
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FON T_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA,'',PDF_FON T_SIZE_DATA));
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(PDF_MARGIN_LEFT,PDF_MARGIN_TOP,PDF_MAR GIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('times','B',6);
    $pdf->AddPage();
    $pdf->setCellPaddings(1, 1, 1, 1);
    $pdf->setCellMargins(0,0,0,0);
    $pdf->SetFillColor(255, 255, 255);
    $txt1='Cella unica';
    $txt3='3-4 Cella da dividere in due celle orizzontali';
    $txt7='7-8-9-10 Cella da dividere in 4 celle orizzontali';
    $txt15='15-16-17-18-19-20-21-22 Cella da dividere in 8 celle orizzontali';
    $txt2='Cella unica';
    $txt4='5-6 Cella da dividere in due celle orizzontali';
    $txt11='11-12-13-14 Cella da dividere in 4 celle orizzontali';
    $txt23='23-24-25-26-27-28-29-30 Cella da dividere in 8 celle orizzontali';
    $pdf->MultiCell(42, 25, '1-Padre '.$txt1, 1,'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(68, 25, ''.$txt3, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(42, 25, ''.$txt7, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(42, 25, ''.$txt15, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->Ln();
    $pdf->MultiCell(42, 25, '2-Madre '.$txt2, 1,'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(68, 25, ''.$txt4, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(42, 25, ''.$txt11, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->MultiCell(42, 25, ''.$txt23, 1, 'L', 1, 0, '', '', true, 0, false, true, 25, 'T');
    $pdf->Output('multicellepergenealogia.pdf');
    ?>

    Mi serve il Vostro aiuto.

  2. #2
    Ho rivisto il file che funziona in linea.
    Ho usato tcfpdf, ma non riesco ad inserire i dati provenienti dal database e quindi non so se il comando(istruzione) <<<EOD mi permetta di inserire le variabili degli array con i dati.

    Altro sarebbe ricomporre quanto ho fatto usando fpdf, ma non ho ancora pratica per costruire il tutto, visto che cambia un po' il sistema come qui dovendo costruire le celle e dovendo poi inserire in queste i valori del database ...
    $output = "ID=".$res[0]['...']." Nome=".$res[0]['...'];
    $pdf_doc=new FPDF();
    $pdf_doc-> AddPage();
    $pdf_doc-> SetFont('Arial','B',16);
    $pdf_doc-> Cell(40, 10, $output);
    $pdf_doc-> Output();

    Questo ovviamente per ora funziona, ma mancano i dati che non riesco ad iserire. Chi mi puó aiutare partendo dal presupposto che i dati riesco ad averli dal databse ?

    <?php
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/config/lang/eng.php');
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FON T_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA,'',PDF_FON T_SIZE_DATA));
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP,PDF_MARGIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('helvetica','',6);
    //$pdf->SetFont('times','B',6);
    $pdf->AddPage();
    $tbl = <<<EOD
    <table width="590" border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td width="125" align="center">GENITORI
    </td>
    <td width="185" align="center">NONNI
    </td>
    <td width="120"align="center" >BISNONNI
    </td>
    <td width="160" align="center">TRISNONNI
    </td>
    </tr>
    </table>
    <table border="1" cellspacing="0" cellpadding="0" width="590">
    <tr>
    <td rowspan="8" width="125">Padre (1) text riga1

    1 text riga2

    1 text riga3

    1 text riga4

    1 text riga5

    1 text riga6

    1 text riga7

    1 text riga8

    1 text riga9

    1 text riga10

    1 text riga11

    1 text riga12

    1 text riga13

    1 text riga14

    1 text riga15

    1 text riga16
    </td>
    <td rowspan="4" width="185">nonnopa (3) text riga 1

    3 text riga2

    3 text riga3

    3 text riga4

    3 text riga5

    3 text riga6

    3 text riga7

    3 text riga8
    </td>
    <td rowspan="2" width="120">bis7 text riga1

    07 text riga2

    07 text riga3

    07 text riga4
    </td>
    <td width="160">bis15 text riga1

    15 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis16 text riga1

    16 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="2" width="120">bis8 text riga1

    08 text riga2

    08 text riga3

    08 text riga4
    </td>
    <td width="160">bis17 text riga1

    17 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis18 text riga1

    18 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="4" width="185">nonnapa (4) text riga1

    4 text riga2

    4 text riga3

    4 text riga4

    4 text riga5

    4 text riga6

    4 text riga7

    4 text riga8
    </td>
    <td rowspan="2" width="120">bis9 text riga1

    09 text riga2

    09 text riga3

    09 text riga4
    </td>
    <td width="160">bis19 text riga1

    19 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis20 text riga1

    20 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="2" width="120">bis10 text riga1

    10 text riga2

    10 text riga3

    10 text riga4
    </td>
    <td width="160">bis21 text riga1

    21 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis22 text riga1

    22 text riga2
    </td>
    </tr>
    </table>
    <table border="1" cellspacing="0" cellpadding="0" width="590">
    <tr>
    <td rowspan="8" width="125">Madre (2) text riga1

    2 text riga2

    2 text riga3

    2 text riga4

    2 text riga5

    2 text riga6

    2 text riga7

    2 text riga8

    2 text riga9

    2 text riga10

    2 text riga11

    2 text riga12

    2 text riga13

    2 text riga14

    2 text riga15

    2 text riga16
    </td>
    <td rowspan="4" width="185">nonnoma (5) text riga1

    5 text riga2

    5 text riga3

    5 text riga4

    5 text riga5

    5 text riga6

    5 text riga7

    5 text riga8
    </td>
    <td rowspan="2" width="120">bis11 text riga1

    11 text riga2

    11 text riga3

    11 text riga4
    </td>
    <td width="160">bis23 text riga1

    23 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis24 text riga1

    24 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="2" width="120">bis12 text riga1

    12 text riga2

    12 text riga3

    12 text riga4
    </td>
    <td width="160">bis25 text riga1

    25 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis26 text riga1

    26 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="4" width="185">nonnama (6) text riga1

    6 text riga2

    6 text riga3

    6 text riga4

    6 text riga5

    6 text riga6

    6 text riga7

    6 text riga8
    </td>
    <td rowspan="2" width="120">bis13 text riga1

    13 text riga2

    13 text riga3

    13 text riga4
    </td>
    <td width="160">bis27 text riga1

    27 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis28 text riga1

    28 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="2" width="120">bis14 text riga1

    14 text riga2

    14 text riga3

    14 text riga4
    </td>
    <td width="160">bis29 text riga1

    29 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis30 text riga1

    30 text riga2
    </td>
    </tr>
    </table>
    EOD;
    $pdf->writeHTML($tbl,true,false,false,false,'');
    $pdf->Output('pedigree.pdf');
    ?>

  3. #3
    Ho provato a ridurre lo script che funziona se non richiamo tutta la parte che si collega al database. E qui è il mio problema perchè i dati li devo poi inserire nel PDF (parte finale all'interno di $tbl = <<<EOD ... EOD;

    <?php

    $nome_file_inc = "include/aperturadatabase.php";
    if (file_exists("../".$nome_file_inc)) {
    include_once ("../".$nome_file_inc);
    }
    else {
    if (file_exists($nome_file_inc)) {
    include_once ($nome_file_inc);
    }
    }
    $sql = "SELECT tabella.ID,tabella.NOME,tabella.altro FROM tabella WHERE trim(tabella.ID)='".$ID."'";
    //print $sql;
    $result = mysql_query($sql,$global_db);
    $nresult=0;
    while ($ris = mysql_fetch_array($result)) {
    $res[$nresult]["ID"] = trim ($ris["ID"]);
    $res[$nresult]['nome'] = htmlspecialchars(utf8_encode($res[0]["nome"]),ENT_QUOTES);
    $res[$nresult]["altro"] = $ris["altro"];
    if ($res[$nresult]["ID"]) {
    $nresult++;
    }
    }
    //print "////".$nresult;
    //var_dump($res);

    require('/var/www/vhosts/nome del dominio/httpdocs/tcpdfPDF/config/lang/eng.php');
    require('/var/www/vhosts/nome del dominio/httpdocs/tcpdfPDF/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FON T_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA,'',PDF_FON T_SIZE_DATA));
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP,PDF_MARGIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $pdf->SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('helvetica','',6);
    $pdf->AddPage();
    $tbl = <<<EOD
    <table width="590" border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td width="125" align="center">GENITORI
    </td>
    <td width="185" align="center">NONNI
    </td>
    <td width="120"align="center" >BISNONNI
    </td>
    <td width="160" align="center">TRISNONNI
    </td>
    </tr>
    </table>
    <table border="1" cellspacing="0" cellpadding="0" width="590">
    <tr>
    <td rowspan="8" width="125">Padre

    1 text riga2

    1 text riga3

    1 text riga4

    1 text riga5

    1 text riga6

    1 text riga7

    1 text riga8

    1 text riga9

    1 text riga10

    1 text riga11

    1 text riga12

    1 text riga13

    1 text riga14

    1 text riga15

    1 text riga16
    </td>
    <td rowspan="4" width="185">nonnopa (3)

    3 text riga2

    3 text riga3

    3 text riga4

    3 text riga5

    3 text riga6

    3 text riga7

    3 text riga8
    </td>
    <td rowspan="2" width="120">bis7

    05 text riga2

    05 text riga3

    05 text riga4
    </td>
    <td width="160">bis15

    16 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis16

    18 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="2" width="120">bis8

    06 text riga2

    06 text riga3

    06 text riga4
    </td>
    <td width="160">bis17

    20 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis18

    22 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="4" width="185">nonnapa (4)

    4 text riga2

    4 text riga3

    4 text riga4

    4 text riga5

    4 text riga6

    4 text riga7

    4 text riga8
    </td>
    <td rowspan="2" width="120">bis9

    07 text riga2

    07 text riga3

    07 text riga4
    </td>
    <td width="160">bis19

    24 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis20

    26 text riga2
    </td>
    </tr>
    <tr>
    <td rowspan="2" width="120">bis10

    08 text riga2

    08 text riga3

    08 text riga4
    </td>
    <td width="160">bis21

    28 text riga2
    </td>
    </tr>
    <tr>
    <td width="160">bis22

    30 text riga2
    </td>
    </tr>
    </table>
    EOD;
    $pdf->writeHTML($tbl,true,false,false,false,'');
    $pdf->Output('pedigreesolopadre.pdf');

    $nome_file_inc = "include/uscitadatabase.php";
    if (file_exists("../".$nome_file_inc)) {
    include_once ("../".$nome_file_inc);
    }
    else {
    if (file_exists($nome_file_inc)) {
    include_once ($nome_file_inc);
    }
    }
    ?>

  4. #4
    Sembra che l'ultimo script(file) descritto nel precedente mio post funzioni, ma come in altra mia discussione i problemi si verificano in descrizione con l'uso dei caratteri speciali: è,í,ú,ö,ä,ß,ñ,eccetera...(problema che avevo affrontato prima di iniziare con questa programmazione).
    La problematica non riguarda peró i dati che provengono dal database, ma solo se per esempio all'interno dei tag io inserisco la parola velocità oppure piú dove le lettere à e ú non fanno lavorare il PDF e la pagina rimane bianca.
    Ho provanto anche ad inserire variabile come $velocita="velocità"; e richiamandola fra i tag, ma anche questo sistema non funziona.

    Dove devo intevenire per questo problema ?
    C'è qualche settaggio da modificare nel file tcpdf.php (Version: 5.9.149) ?
    http://sourceforge.net/projects/tcpdf/files/

  5. #5
    Risolto anche il problema dei caratteri speciali üöäßÜÄÖè eccetera modificando

    require('/var/www/vhosts/nome del dominio/httpdocs/tcpdfPDF/config/lang/eng.php');
    require('/var/www/vhosts/nome del dominio/httpdocs/tcpdfPDF/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);

    in

    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,false,'UTF-8',false);

    Ora devo lavorare nel portare i margini tutto in alto e poter orientare per la stampa in orizzontale, peró nessuno mi sta aiutando e io studio e provo ...

  6. #6
    Se da un lato ho risolto il problema dei caratteri speciali üöäßÜÄÖè eccetera modificando

    require('/var/www/vhosts/nome del dominio/httpdocs/tcpdfPDF/config/lang/eng.php');
    require('/var/www/vhosts/nome del dominio/httpdocs/tcpdfPDF/tcpdf.php');
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);

    in

    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,false,'UTF-8',false);

    questo vale per le sole descrizioni, nel senso che i dati provenienti dal MySQL pur richiamandoli a mezzo di variabili del tipo
    htmlspecialchars(utf8_encode($res[0]["..."]),ENT_QUOTES);
    oppure
    utf8_encode($res[0]["..."]);
    non sono corretti.
    Ovviamente io devo poter utilizzare sia le descrizioni che fare vedere i dati provenienti dal database.
    Quindi se imposto
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,false,'UTF-8',false);
    funziona nelle descrizioni e non nel fare vedere correttamente i dati del database
    se utilizzo
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMA T,true,'UTF-8',false);
    vedo le descrizioni errare ed i dati del database corretti

    il tutto, il contrario di tutto ...

  7. #7
    A tutt'oggi il problema utf8 continuo ad averlo nel solo PDF e non nelle altre pagine.
    Tutto il resto funziona, compresi i dati provenineti dal database.
    Ho trovato queste istruzioni nel file tcpdf.php che in precedenza ho scaricato e caricato nel server.
    Non so se si deve intevenire su di esse per la questione utf8

    //------------------------------------------------------------
    // METHODS
    //------------------------------------------------------------
    /**
    * This is the class constructor.
    * It allows to set up the page format, the orientation and the measure unit used in all the methods (except for the font sizes).
    * @param $orientation (string) page orientation. Possible values are (case insensitive):<ul>[*]P or Portrait (default)[*]L or Landscape[*]'' (empty string) for automatic orientation[/list]
    * @param $unit (string) User measure unit. Possible values are:<ul>[*]pt: point[*]mm: millimeter (default)[*]cm: centimeter[*]in: inch[/list]
    A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This is a very common unit in typography; font sizes are expressed in that unit.
    * @param $format (mixed) The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat().
    * @param $unicode (boolean) TRUE means that the input text is unicode (default = true)
    * @param $encoding (string) Charset encoding; default is UTF-8.
    * @param $diskcache (boolean) If TRUE reduce the RAM memory usage by caching temporary data on filesystem (slower).
    * @param $pdfa (boolean) If TRUE set the document to PDF/A mode.
    * @public
    * @see getPageSizeFromFormat(), setPageFormat()
    */
    public function __construct($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false, $pdfa=false) {
    /* Set internal character encoding to ASCII */
    if (function_exists('mb_internal_encoding') AND mb_internal_encoding()) {
    $this->internal_encoding = mb_internal_encoding();
    mb_internal_encoding('ASCII');
    }
    ...

    Nel file che ho costruito ho inserito :
    $pdf = new TCPDF(L,PDF_UNIT,PDF_PAGE_FORMAT,false,'UTF-8',false);

    Ci puó essere qualche incongruenza tra le istruzioni del file tcpdf.php ed il file che ho costruito io ?

  8. #8
    Per chi avesse letto questo mio post, Vi comunico di aver risolto il problema dei caratteri speciali del tipo äöüÜÖÄßàúèëæ eccetera.
    L'ultimo mio script (il terzo impaginato qui sopra) risulta corretto, visto che tcpdf ha delle routine di default per cui UTF-8 è impostato per far apparire i caratteri speciali e quindi quando si estrappolano/richiamano i dati dal database a mezzo $variabili

    Non si deve intervenire nello script originale di tcpdf.php.
    Non serve richiamare le variabili inserendo utf8_encode come qui sotto nel proprio file:
    htmlspecialchars(utf8_encode(trim($ris["...variabile..."])),ENT_QUOTES);
    nel mio script (il terzo impaginato qui sopra):
    $res[$nresult]["nome"] = htmlspecialchars(utf8_encode(trim($ris["nome"])),ENT_QUOTES);

    ma si tolgono gli spazi vuoti con trim e non mettendo tmlspecialchars(utf8_encode
    cosí:
    trim($ris["...variabile..."]);
    nel mio script(il terzo qui sopra)
    $res[$nresult]["nome"] = trim($ris["nome"]);

    Usando una ulteriore variabile che va richiamata all'interno di <<<EOD ... EOD;
    dove ci sono i tag si vedranno i dati nel PDF come ad esempio ho fatto io:

    <?php
    $num = $_GET['id'];
    //apertura del database
    $nome_file_inc = "include/config.inc.php";
    if (file_exists("../".$nome_file_inc)) {
    include_once ("../".$nome_file_inc);
    }
    else {
    if (file_exists($nome_file_inc)) {
    include_once ($nome_file_inc);
    }
    }
    $sql = "SELECT cane.NUM,cane.name FROM cane WHERE trim(cane.NUM)='".$num"'";
    $result = mysql_query($sql, $global_db);
    $nresult=0;
    while ($ris = mysql_fetch_array($result)) {
    $res[$nresult]["NUM] = trim($ris["NUM"]);
    $res[$nresult]["name"] = trim($ris["name"]);
    if ($res[$nresult]["NUM"]) {
    $nresult++;
    }
    }
    $nome = $res[0]['nome '];
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/config/lang/eng.php');
    require('/var/www/vhosts/nome dominio/httpdocs/tcpdf/tcpdf.php');
    $pdf = new TCPDF(L,PDF_UNIT,PDF_PAGE_FORMAT,false,'utf8',fals e);
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FON T_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA,'',PDF_FON T_SIZE_DATA));
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(6 ,1 , 0);
    $pdf->SetHeaderMargin(1);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->setLanguageArray($l);
    $pdf->SetFont('helvetica','',7);
    $pdf->AddPage();
    $tbl = <<<EOD
    <table width="1010" align="center"><tr><td width="940" align="center">
    <h1>$numero - $nome </h1></td></tr></table>
    EOD;
    $pdf->WriteHTML($tbl,$align='C', $ln=true, $stretch=0, $firstline=false, $firstblock=false, $maxh=0);
    $pdf->Output('esempionome.pdf');
    //chiusura del database
    $nome_file_inc = "include/chiusuradatabase.php";
    if (file_exists("../".$nome_file_inc)) {
    include_once ("../".$nome_file_inc);
    }
    else {
    if (file_exists($nome_file_inc)) {
    include_once ($nome_file_inc);
    }
    }
    ?>

    tutto qua, perchè a me funziona cosí in orizzontale.
    S&O

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.