Bonjour,
Pouvez-vous me dire si ce lien est bon pour générer du pdf : http://phptopdf.com/ (ils demandent de s'inscrire d'abord)
Le code proposé est on ne peut plus simple et court :
PDF à partir d'une url
PDF à partir d'un code html.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php include_once('phpToPDF.php') ; //Code to generate PDF file from specified URL phptopdf_url('http://google.com','/my_directory/', 'my_pdf_filename.pdf'); ?>
Et donc ça marche très bien en local, mais sur un hébergement mutualisé OVH, en ligne, ça rame (quelque soit la longueur du pdf à générer, même vide), et ça plante 4 fois sur 5.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php include_once('phpToPDF.php'); $html = '<html><head></head><body>contents of a report.....</body></html>'; //Code to generate PDF file from HTML content stored in a variable phptopdf_html($html,'/my_directory/','my_pdf_filename.pdf'); ?>
Je n'arrive pas à savoir pourquoi :/
(mon encodage est du UTF8 sans bom)
et voilà en tout et pour tout à quoi ressemble leur fichier phpToPDF.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 function phptopdf_url($source_url,$save_directory,$save_filename) { $API_KEY = 'axeounipuazueiz'; $url = 'http://phptopdf.com/urltopdf.php?key='.$API_KEY.'&url='.urlencode($source_url); $resultsXml = file_get_contents(($url)); file_put_contents($save_directory.$save_filename,$resultsXml); } function phptopdf_html($html,$save_directory,$save_filename) { $API_KEY = ';axeounipuazueiz'; $postdata = http_build_query( array( 'html' => $html, 'key' => $API_KEY ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); $context = stream_context_create($opts); $resultsXml = file_get_contents('http://phptopdf.com/htmltopdf.php', false, $context); file_put_contents($save_directory.$save_filename,$resultsXml); }
Partager