Php html css vers PDF

Eléphanteau du PHP | 27 Messages

16 mars 2018, 16:11

Bonjour à toutes et à tous.
Après de multiples recherches je me tourne vers vous pour savoir si vous connaissez un moyen de générer une page entière en php+html+css vers PDF.
Les librairies que j'ai trouvé ne semblent gérer que sous forme html donc si vous avez une piste ....Merci infiniment

ViPHP
xTG
ViPHP | 7331 Messages

16 mars 2018, 19:08

Bonjour,

Je ne vois pas de problème avec ce genre de librairie.
Le PHP ne fait que générer du HTML, et le CSS ce n'est que de la mise en forme du HTML pour faire simple.
Peut-on savoir comment tu utilises ces librairies ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 mars 2018, 10:39

L'une des librairie les plus abouties à ce jour pour transformer du HTML+CSS (éventuellement générés en amont avec PHP) en PDF est la suivante :
https://wkhtmltopdf.org/
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 27 Messages

20 mars 2018, 16:23

Merci pour vos retours,
En clair j'ai 2 tableaux générés en php (boucle) et je souhaite que le visuel obtenu soit généré en format PDF.
J'ai vu qu'il y a une multitude de librairies mais de ce que j'y comprends dans la structure de celles ci est qu'il faut préciser chaque cellules....donc si il y a une solution pour demander à ce que maPage.php soit convertit dans son intégralité en maPage.pdf .
Merci à vous

Eléphanteau du PHP | 27 Messages

21 mars 2018, 01:20

Exemple avec ce script de FDPF :

Code : Tout sélectionner

<?php //SHOW A DATABASE ON A PDF FILE //CREATED BY: Carlos Vasquez S. //E-MAIL: [email protected] //CVS TECNOLOGIA E INNOVACION //SANTIAGO, CHILE require('fpdf.php'); //Connect to your database include("conectmysql.php"); //Select the Products you want to show in your PDF file $result=mysql_query("select Code,Name,Price from Products ORDER BY Code",$link); $number_of_products = mysql_numrows($result); //Initialize the 3 columns and the total $column_code = ""; $column_name = ""; $column_price = ""; $total = 0; //For each row, add the field to the corresponding column while($row = mysql_fetch_array($result)) { $code = $row["Code"]; $name = substr($row["Name"],0,20); $real_price = $row["Price"]; $price_to_show = number_format($row["Price"],',','.','.'); $column_code = $column_code.$code."\n"; $column_name = $column_name.$name."\n"; $column_price = $column_price.$price_to_show."\n"; //Sum all the Prices (TOTAL) $total = $total+$real_price; } mysql_close(); //Convert the Total Price to a number with (.) for thousands, and (,) for decimals. $total = number_format($total,',','.','.'); //Create a new PDF file $pdf=new FPDF(); $pdf->AddPage(); //Fields Name position $Y_Fields_Name_position = 20; //Table position, under Fields Name $Y_Table_Position = 26; //First create each Field Name //Gray color filling each Field Name box $pdf->SetFillColor(232,232,232); //Bold Font for Field Name $pdf->SetFont('Arial','B',12); $pdf->SetY($Y_Fields_Name_position); $pdf->SetX(45); $pdf->Cell(20,6,'CODE',1,0,'L',1); $pdf->SetX(65); $pdf->Cell(100,6,'NAME',1,0,'L',1); $pdf->SetX(135); $pdf->Cell(30,6,'PRICE',1,0,'R',1); $pdf->Ln(); //Now show the 3 columns $pdf->SetFont('Arial','',12); $pdf->SetY($Y_Table_Position); $pdf->SetX(45); $pdf->MultiCell(20,6,$column_code,1); $pdf->SetY($Y_Table_Position); $pdf->SetX(65); $pdf->MultiCell(100,6,$column_name,1); $pdf->SetY($Y_Table_Position); $pdf->SetX(135); $pdf->MultiCell(30,6,$columna_price,1,'R'); $pdf->SetX(135); $pdf->MultiCell(30,6,'$ '.$total,1,'R'); //Create lines (boxes) for each ROW (Product) //If you don't use the following code, you don't create the lines separating each row $i = 0; $pdf->SetY($Y_Table_Position); while ($i < $number_of_products) { $pdf->SetX(45); $pdf->MultiCell(120,6,'',1); $i = $i +1; } $pdf->Output(); ?>
J'ai du mal à adapter pour afficher deux tableaux alimentés pas 2 requêtes différentes, ces 2 tableaux côte à côte obligatoirement.

En PHP il me suffit de déclarer mes 2 requêtes puis d'insérer mes variables dans le tableau mais pour cette application je cale....

Nb: Les 2 requêtes ne peuvent être jointes via SQL donc déclarées individuellement .

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 mars 2018, 12:28

donc si il y a une solution pour demander à ce que maPage.php soit convertit dans son intégralité en maPage.pdf .
C'est exactement ce que fait wkhtmltopdf.
Si ta page s'affiche comme tu veux quand tu l'appelles depuis ton navigateur, il va t'en générer la copie exacte en PDF :)
Quand tout le reste a échoué, lisez le mode d'emploi...