Hello

Je converti une <table> en string et construit un PDF!

tout marche niquel, je peux même régler la taille alors comment transformer une taille pixels en taille .... PDF ? c'est des cm ? des mm ? j'ai essayer de convertir en mm mais la taille n'est pas parfaite et mon tableau "sort" des limites
JENCAL a écrit :
Hello
Je converti une &lt;table&gt; en string et construit un PDF
tout marche niquel, je peux même régler la taille alors comment transformer une taille pixels en taille PDF ? c'est des cm ? des mm ? j'ai essayer de convertir en mm mais la taille n'est pas parfaite et mon tableau "sort" des limites


Ce n'est pas le premier sujet que tu lance ,et qui a mes yeux est un mystère entre "est'il trop fort et s'exprime t'il sans clarté", ou "se fichet'il de nous" ??

En attendant ton esprit parait mélanger des concepts qui n'ont aucun rapport .
1) Une table est un contenant html et peut (entre autre) contenir des textes (pas des string bien sur !) des images des vidéos etc ...
2) dans les langages qui fabriquent des html ou des PDF ou autre format, L'objet global String est un constructeur de chaînes de caractères..
3) le Pixel est l'unité de définition en imagerie numérique, sa taille dépends de la définition de l'objet par exemple
noir et blanc : un bit ,16 couleurs (standard VGA) : 4 bits,256 couleurs : 8 bits (1 octet) ... etc.
Il peut se mesurer à l'écran par exemple ... bref j' arrêtes là et une fois encore ,poses des questions,tu aura des réponses Smiley eek
Christele a écrit :


Ce n'est pas le premier sujet que tu lance ,et qui a mes yeux est un mystère entre "est'il trop fort et s'exprime t'il sans clarté", ou "se fichet'il de nous" ??

En attendant ton esprit parait mélanger des concepts qui n'ont aucun rapport .
1) Une table est un contenant html et peut (entre autre) contenir des textes (pas des string bien sur !) des images des vidéos etc ...
2) dans les langages qui fabriquent des html ou des PDF ou autre format, L'objet global String est un constructeur de chaînes de caractères..
3) le Pixel est l'unité de définition en imagerie numérique, sa taille dépends de la définition de l'objet par exemple
noir et blanc : un bit ,16 couleurs (standard VGA) : 4 bits,256 couleurs : 8 bits (1 octet) ... etc.
Il peut se mesurer à l'écran par exemple ... bref j' arrêtes là et une fois encore ,poses des questions,tu aura des réponses Smiley eek


Alors pour ton informations, je suis pas plus fort ... et je me fiche de personne. je suis face à un problème et comme tu l'a justement dit c'est pas le premier sujet.

Je parle pas de "table" en tant que conteneur, je parle de <table></table> si j'ai mit les "chevron" c'est pas pour rien, c'est pour expliquer que j'envoie un string (en js) contenant "<table><thead></thead><tbody></tbody></table>" etc...... ce n'est pas une table en tant que conteneur Smiley smile

Cette <table> a une largeur et une hauteur mesurable en pixels! Sur un fichier PDF la mesure n'est pas du pixel ! c'est des points. équivalant au millimètre me semble t'il (a peu de choses près).

Donc ma question est comment convertir des pixels en points / millimètre / mesure .pdf.

Mon problème reste le même. insérer un string dans un pdf sans que celui sorte des limites de la pages.
Je vais présenter un peu de code.. peut être cela sera plus simple


J'ai une table

       
 <div style="margin-top: 5px;" id="id_table_result"  class="row data-results">
            <table id="id_table_donnee_audience_activite" class="table" name="nameTableAA">
                <thead>
                    <tr>
                    </tr>
                </thead>
                <tbody class="totals">
                </tbody>
            </table>
        </div>



J'ai un form

                          
 <form action="../api/pdf.php" method="POST" target="_blank" style="  margin-bottom: -20px;" id="formSubmitExportPdf" onsubmit="submitToExportPDF();">
                                <input type="hidden" id="table_hidden" name="exportTable"/>
                                <input type="hidden" id="table_width" name="tbWidth"/>
                                <input type="hidden" id="table_height" name="tbHeight"/>
                                <a style="  color: white;" onclick=" document.getElementById('formSubmitExportPdf').submit();">.pdf</a>
  </form>


j'ai un onsubmit qui va remplir mes champs caché

    function  submitToExportPDF()
    {
        document.getElementById("table_hidden").value = document.getElementById("id_table_result").innerHTML;
        document.getElementById("table_width").value = document.getElementById("id_table_result").offsetWidth;
        document.getElementById("table_height").value = document.getElementById("id_table_result").offsetHeight;
    }



et mon PHP qui va créer le fichier

<?php

    $content = $_POST['exportTable'];

    require_once('../js/libs/html2pdf_v4.03/html2pdf.class.php');

    $html2pdf = new HTML2PDF('P', array(260, 350), 'fr', true, 'UTF-8', array(5, 15, 0, 0));
    $html2pdf->WriteHTML($content);
    $html2pdf->Output('exemple.pdf');
?>


Dans new HTML2PDF on donne une taille : array(260,350) celle ci est FIXE, je veux qu'elle soit dynamique, j'ai les taille en pixel dans ici $_POST['tbWidth'] et heigh.

Comme dit précédemment en pixel, cela ne fonctionne pas correctement au niveau de l'affichage. car en pdf la mesure n'est pas en pixels.
Je comprends mieux ton problème, mais je ne connait pas beaucoup cette technique, et pourquoi devons nous figer la taille ???
dans l'utilisation basique il suffit d'écrire

<?php
    $content = "
<page>
    <h1>Exemple d'utilisation</h1>
    <br>
    Ceci est un <b>exemple d'utilisation</b>
    de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br>
</page>";

    require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
    $html2pdf = new HTML2PDF('P','A4','fr');
    $html2pdf->WriteHTML($content);
    $html2pdf->Output('exemple.pdf');
?>
Oui mais avec l'utilisation "basique" mon tableau dépasse les limites de la feuille pdf.

si on ajoute une taille dynamique calculé en fonction des pixels et transformé en ... "mesure pdf".. cela pourrait faire en sorte d'adapter la feuille à mon tableau, grand ou petit.
Modifié par JENCAL (14 Aug 2015 - 15:11)