Bonjour,

Je n'arrive pas a convertir mon php en pdf

<?PHP 

require 'ComposerSetup/vendor/autoload.php';
use mikehaertl\wkhtmlto\Pdf;

ob_start();       
require 'PHP\pdf.php';
$Content = ob_get_clean();
$pdf = new \mikehaertl\wkhtmlto\Pdf();
$pdf->addPage($Content) ;

$pdf->send();

J'ai installer composer et wkhtmltopdf sur mon PC est quand je lance mon code j'ai une page blanche.

avez vous une solution à me proposer?

Par avance merci.
David

7 réponses


Bonjour,

mets ça en début de ton script :

error_reporting(E_ALL);
ini_set('display_errors', 1);

ça affichera l'erreur

DavLes
Auteur

Bonjour Keller,

Toujours une page blanche.

<?PHP 
error_reporting(E_ALL);
ini_set('display_errors', 1);

require 'ComposerSetup/vendor/autoload.php';
use mikehaertl\wkhtmlto\Pdf;

ob_start();       
require 'PHP/pdf.php';
$Content = ob_get_clean();

//die($Content);

$pdf = new mikehaertl\wkhtmlto\Pdf();
$pdf->addPage($Content) ;

$pdf->send();

j'ai ajouté un

die($Content);

Pour voir la page.
donc en PHP aucun problème mais en pdf page blanche.

Merci pour ton aide
David

DavLes
Auteur

Re,
voici le script du fichier pdf.php

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
    <meta charset="utf-8">

</head>
<body>  
    <h1>Facture</h1>

</body>
</html>

Qui ce trouve dans un dossier nommer PHP**

DavLes
Auteur

Re,
j'ai changé mon script est la j'ai un message erreur.

<?PHP 
error_reporting(E_ALL);
ini_set('display_errors', 1);

//require 'ComposerSetup/vendor/autoload.php';
use mikehaertl\wkhtmlto\Pdf;

$pdf = new Pdf;
$pdf->binary = '\wkhtmltopdf';
$pdf->addPage('http://google.com');

$pdf->send();
if (!$pdf->send()) {
   ** throw new Exception('Could not create PDF: '.$pdf->getError());**//La ligne 14
}
$content = $pdf->toString();
if ($content === false) {
    throw new Exception('Could not create PDF: '.$pdf->getError());
}

est voici les messages
1-Fatal error: Uncaught Exception: Could not create PDF: Failed without error message: \wkhtmltopdf "http://google.com" "C:\Windows\Temp\tmp44E4.tmp.pdf" in W:\wamp\www\RTPFSA\test2.php on line 14
2-Exception: Could not create PDF: Failed without error message: \wkhtmltopdf "http://google.com" "C:\Windows\Temp\tmp44E4.tmp.pdf" in W:\wamp\www\RTPFSA\test2.php on line 14

je me demande si le problème ne vient pas de mon installation?

Bonjour,
Est ce que tu as installé l'éxécutable wkhtmltopdf?
https://wkhtmltopdf.org/downloads.html

Si oui fait un test en ligne de commande:

wkhtmltopdf http://google.com google.pdf
DavLes
Auteur

Bonjour Olive140,

j'ai test avec cmd

W:\wamp\www\RTPFSA\wkhtmltox\bin>wkhtmltopdf http://google.com google.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

W:\wamp\www\RTPFSA\wkhtmltox\bin>

est j'ai bien mon google.pdf

J'ai remis mon 1er script avec une petite modif.

<?PHP 
error_reporting(E_ALL);
ini_set('display_errors', 1);

require 'ComposerSetup/vendor/autoload.php';
use mikehaertl\wkhtmlto\Pdf;

ob_start();       
require 'PHP\pdf.php';
$Content = ob_get_clean();

//die($Content);

$pdf = new \mikehaertl\wkhtmlto\Pdf();
$pdf->binary = '\wkhtmltox\bin';// ** J'ai ajouter ça**
$pdf->addPage($Content) ;

$pdf->send();

est la une page blanche?

David

DavLes
Auteur

J'ai oublie de repondre a ta question.
Oui pour installation et là j'ai desinstaller et remplacer par le zip. idem