THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 Conversion de page en pdf

(02-06-2013 18:30:15)


Bonjour tout le monde,

je bloque sur quelque chose de basique.

J'ai un fond qui affiche une liste issue de certaines caractéristique. le fond marche bien en version html, zéro problème.

J'ai duplique le fond pour faire une version téléchargeable de cette liste. Et là je bloque.

je pense que mon problème vient de mon #HEADER, mais je bloque.

Si une âme charitable a une idée.

J'avais mis:

#HEADER{Content-type:application/pdf}
#HEADER{Cache-Control: no-cache}
#HEADER{Content-Disposition:attachment;filename='liste-editeur.pdf'}

Bonne soirée.

Offline


C'est quoi le problème exactement ?


OpenStudio Toulouse

Offline


Salut, et merci de prendre le temps smile

le problème est que le pdf est bien créé (mais vide je pense), mais illisible sous acrobat, apercu, firefox avec le module, indesign (enfin tout ce qui peut créer un pdf en général).

Je pense qu'il n'arrive pas à convertir le html dedans en pdf...

Si jamais.

Offline


Ouvres le fichier avec un éditeur de texte, il y a peut-être des erreurs ou des warnings PHP qui parasitent la création du fichier.


OpenStudio Toulouse

  • manu
  • faï tot petar miladiu

Offline


Bonjour,

je ne pense pas que tu puisses, juste en changeant le header, transformer du html en pdf. Tu as 2 choix je pense, soit passer par une librairie tel html2pdf qui transforme le html en pdf (on l'utilise pour la génération des factures), soit de passer par une feuille de style type print et en cliquant sur ton lien, envoyer sur l'impression (et là on peut enregistrer au format pdf).

La deuxième solution c'est un peu plus bidouille.


http://doc.thelia.net/
http://thelia.net/modules
http://raynaud.io
PGP public Key : 0xC6E546A6

Offline


Le fichier ne commence pas par %PDF

sinon dans le fichier tout est bien en ordre avec un éditeur de texte.

Offline


je ne pense pas que tu puisses, juste en changeant le header, transformer du html en pdf

Effectivement, ça ne marche pas comme ça: la magie n'existe pas wink

sinon dans le fichier tout est bien en ordre

C'est à dire ? colle nous ici les 20 premières lignes


OpenStudio Toulouse

Offline


<h2>Gache Henri ,Gap</h2>
<table>
<tr>
<td>N&deg; de carte</td>
<td> Designation</td>
<td>Photos</td>
</tr>
<tr>
<td>
14
 </td>
<td><a href="http://www.cartalpes.fr/433-boulevard-de-la-liberte-boulevard-de-la-liberte.html">Boulevard de la Liberté</a></td>
<td>
<a href="http://www.cartalpes.fr/433-boulevard-de-la-liberte-boulevard-de-la-liberte.html">
		                    <center><img src="client/cache/produit/_50______14-boulevard-de-la-liberte_577.jpg" alt="Boulevard de la Liberté" title="Boulevard de la Liberté"/></center>
                            </a>
</td>
<tr>

c'est juste une liste qui apparait dans un table.

Last edited by thibs (03-06-2013 09:53:00)

Offline


OK, c'est donc un fichier HTML, absolument pas un PDF smile

Pour transformer un HTML en PDF, tu devrais t'inspirer du fichier client/pdf/facture.php, qui effectue la tranformation via html2pdf, lui même wrappé par la classe Pdf de Thelia :

	// Le moteur ne sortira pas le contenu de $res
	$sortie = false;

	// Définir le template html
	$reptpl = __DIR__ . "/template/";
	$fond = "ton_template_a_toi.html";

	require_once(__DIR__ . "/../../fonctions/moteur.php");

	require_once(__DIR__ . "/../../classes/Pdf.class.php");

	Pdf::instance()->generer($res, "nom_du_fichier_pdf.pdf");

OpenStudio Toulouse

Offline


Et du coup pour l'appeler à partir d'un template, je fais:

<a href="adressedufichier php" > Lien </a>

?

Offline