1

Bonjour !

J'ai découvert html2pdf il y a quelques jours. Pour ce que j'ai testé, c'est un très bon outil. Mais j'ai un problème pour l'utiliser dans mon cas.

J'utilise un site Joomla, et j'aimerai générer des fiches à partir d'une url bien précise. Le problème, je n'arrive pas à inclure le fichier.

Voici mon code :

// Lecture du contenu de la fiche activité
$PageName = "index3.php?option=com_ftpl&controller=Activites&task=printsheet&cid[]=931006760";
include($PageName);
$PageContent = ob_get_clean();
// Création du fichier pdf à partir de l'URL
$html2pdf = new HTML2PDF('P','A4', 'fr');
$html2pdf->WriteHTML($PageContent, isset($_GET['vuehtml']));
$html2pdf->Output(JPATH_COMPONENT_SITE.DS.'fichesactivites'.DS.'test.pdf', 'F');

J'utilise un include, mais celui ci ne fonctionne pas. Alors j'ai essayé avec un fopen et encore d'autres méthodes mais rien n'y fait.
Comment puis-je récupérer le contenu de la page que je veux convertir en pdf ?

Merci de votre aide,

Jisay

2

si tu fais un include, il va prendre le fichier index.php comme fichier local => il ne prendra pas les paramètres
si tu fait un fopen via un http://localhost/... tu va perdre la session actuelle de l'utilisateur.

ce qu'il faut, c'est modifier le moteur de joomla (ou ajouter une extension, je ne sais pas trop, je ne l'ai jamais utilisé) pour que si il trouve le paramètre PDF (ou autre) en _GET, il convertisse en PDF

par exemple, tu pourrais modifier le fichier index3.php ainsi :

$forPDF = isset($_GET['pdf']);

if ($forPDF)
{
  require_once('./html2pdf/html2pdf.class.php');
  ob_start();
}

// lignes d'origines...
......
// fin lignes d'origines

if ($forPDF)
{
  $content = ob_get_clean();

  // faire ici un traitement sur $content pour ne prendre que ce qu'il y a dans le body

  $html2pdf = new HTML2PDF(...);
  $html2pdf->writeHTML($content);
  $html2pdf->output(..);
}



après, il faudrait carrement configurer joomla pour qu'il utilise un template plus adapté pour la sortie PDF quand celle-ci est demandée.

l'exemple que je viens de te donner permettrait de convertir n'importe quelle page de ton site en PDF.

si par contre tu ne voudrais qu'une page précise en PDF, et que cette page utilise un module, il vaudrait mieux dans ce cas précis que ce soit l'action demandée qui convertisse seulement le contenu en PDF

ATTENTION, je n'ai jamais utilisé joomla, tous ceci ne sont que des suppositions par rapport autres CMS que j'ai déjà utilisé !
Ancien pseudo : lolo