{"id":25770,"date":"2021-06-12T19:44:00","date_gmt":"2021-06-12T16:44:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25770"},"modified":"2021-10-18T02:04:53","modified_gmt":"2021-10-17T23:04:53","slug":"comment-convertir-du-html-en-pdf-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-convertir-du-html-en-pdf-en-php\/","title":{"rendered":"Comment convertir du HTML en PDF en PHP"},"content":{"rendered":"<p>PDF (Portable Document Format) est un format de fichier qui inclut le formatage du texte et des images dans une mise en page fixe. Le PDF est ind\u00e9pendant du logiciel d&rsquo;application, du mat\u00e9riel et du syst\u00e8me d&rsquo;exploitation. Cela signifie que vous pouvez utiliser le m\u00eame PDF sur n&rsquo;importe quel syst\u00e8me d&rsquo;exploitation.<\/p>\n<p>Lorsque nous travaillons sur des applications PHP, nous souhaitons parfois cr\u00e9er des PDF \u00e0 partir de HTML. Il peut s&rsquo;agir d&rsquo;une facture, d&rsquo;un guide d&rsquo;installation, d&rsquo;un curriculum vitae, etc. Afin de le rendre dynamique, nous devons g\u00e9n\u00e9rer un PDF en utilisant HTML \u00e0 la vol\u00e9e.<\/p>\n<p>Dans cet article, je vous montre comment convertir du HTML en PDF en PHP \u00e0 l&rsquo;aide de la biblioth\u00e8que Dompdf.<\/p>\n<p><a href=\"https:\/\/github.com\/dompdf\/dompdf\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Dompdf<\/a> est une biblioth\u00e8que de conversion HTML en PDF open source. En utilisant Dompdf, vous pouvez facilement cr\u00e9er un PDF \u00e0 partir de HTML brut ou en utilisant un fichier HTML.<\/p>\n<h3>Commencer<\/h3>\n<p>Pour commencer, vous devez d&rsquo;abord installer la biblioth\u00e8que Dompdf sur votre application. Je recommande d&rsquo;utiliser <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> pour l&rsquo;installation de la biblioth\u00e8que.<\/p>\n<p>Ouvrez le terminal dans le r\u00e9pertoire racine de votre projet et ex\u00e9cutez la commande\u00a0:<\/p>\n<pre><code>composer require dompdf\/dompdf<\/code><\/pre>\n<p>Apr\u00e8s avoir install\u00e9 une biblioth\u00e8que, vous pouvez inclure l&rsquo;environnement Dompdf \u00e0 votre projet en utilisant le code ci-dessous.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse DompdfDompdf;<\/code><\/pre>\n<h3>Convertir HTML en PDF en PHP<\/h3>\n<p>Le code requis pour g\u00e9n\u00e9rer un PDF est simple et direct. Par exemple, disons que vous avez un HTML brut qui doit \u00eatre converti en PDF. Cr\u00e9ez un <code>index.php<\/code>fichier et ajoutez \u00e9crivez le code comme suit.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse DompdfDompdf;\n\u00a0\n\/\/ instantiate and use the dompdf class\n$dompdf = new Dompdf();\n$dompdf-&gt;loadHtml('&lt;h1&gt;hello world&lt;\/h1&gt;');\n\u00a0\u00a0\n\/\/ (Optional) Setup the paper size and orientation\n$dompdf-&gt;setPaper('A4', 'landscape');\n\u00a0\u00a0\n\/\/ Render the HTML as PDF\n$dompdf-&gt;render();\n\u00a0\u00a0\n\/\/ Output the generated PDF to Browser\n$dompdf-&gt;stream();<\/code><\/pre>\n<p>Ici, nous passons un code HTML brut \u00e0 la m\u00e9thode <code>loadHtml()<\/code>. Lorsque nous ex\u00e9cutons ce fichier, il g\u00e9n\u00e9rera un PDF et le rendra sur un navigateur.<\/p>\n<p>On peut aussi donner un nom au PDF qui va se t\u00e9l\u00e9charger.<\/p>\n<pre><code>$dompdf-&gt;stream('test.pdf');<\/code><\/pre>\n<p>Vous avez appris \u00e0 g\u00e9n\u00e9rer des PDF \u00e0 partir de HTML brut. Voyons maintenant comment cr\u00e9er un PDF \u00e0 l&rsquo;aide d&rsquo;un fichier HTML.<\/p>\n<p>Il y a 2 fa\u00e7ons pour cela. Dans un premier temps, nous r\u00e9cup\u00e9rons le contenu du fichier HTML et le transmettons \u00e0 la <code>loadHtml()<\/code>m\u00e9thode. Une autre fa\u00e7on consiste \u00e0 utiliser la <code>loadHtmlFile()<\/code>fonction et \u00e0 lui transmettre le chemin du fichier HTML.<\/p>\n<p>Voyons les deux mani\u00e8res une par une.<\/p>\n<p><strong>Premi\u00e8re m\u00e9thode<\/strong><\/p>\n<pre><code>$html = file_get_contents('test.html');\n$dompdf-&gt;loadHtml($html);\n\u00a0\n\/\/ Render the HTML as PDF\n$dompdf-&gt;render();\n\u00a0\n\/\/ Output the generated PDF to Browser\n$dompdf-&gt;stream();<\/code><\/pre>\n<p><strong>Deuxi\u00e8me m\u00e9thode<\/strong><\/p>\n<p>Dans cette m\u00e9thode, vous devez d&rsquo;abord d\u00e9finir le &lsquo;chroot&rsquo; du r\u00e9pertoire o\u00f9 se trouve votre fichier HTML. Si votre fichier HTML se trouve dans le r\u00e9pertoire racine, utilisez directement la <code>getcwd()<\/code>m\u00e9thode. Vous devez ajuster le chemin selon vos besoins.<\/p>\n<pre><code>$dompdf-&gt;set_option('chroot', getcwd()); \/\/assuming HTML file is in the root folder\n$dompdf-&gt;loadHtmlFile('test.html');\n\u00a0\n\/\/ Render the HTML as PDF\n$dompdf-&gt;render();\n\u00a0\n\/\/ Output the generated PDF to Browser\n$dompdf-&gt;stream();<\/code><\/pre>\n<h3>Enregistrez le fichier PDF g\u00e9n\u00e9r\u00e9<\/h3>\n<p>Tous les codes ci-dessus que nous avons \u00e9crits rendront le PDF g\u00e9n\u00e9r\u00e9 dans un navigateur. Si quelqu&rsquo;un souhaite enregistrer le PDF g\u00e9n\u00e9r\u00e9 sur un disque, utilisez le code comme suit\u00a0:<\/p>\n<pre><code>$dompdf-&gt;set_option('chroot', getcwd()); \/\/assuming HTML file is in the root folder\n$dompdf-&gt;loadHtmlFile('test.html');\n\u00a0\n\/\/ Render the HTML as PDF\n$dompdf-&gt;render();\n\u00a0\n\/\/Save to disk\n$output = $dompdf-&gt;output();\nfile_put_contents(\"test.pdf\", $output);<\/code><\/pre>\n<p>Il s&rsquo;agit de convertir du HTML en PDF \u00e0 l&rsquo;aide de la biblioth\u00e8que Dompdf. J&rsquo;aimerais entendre vos pens\u00e9es et suggestions dans la section des commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/utilisation-de-google-recaptcha-sur-vos-formulaires-de-site-web-avec-php\/\" title=\"Utilisation de Google reCAPTCHA sur vos formulaires de site Web avec PHP\">Utilisation de Google reCAPTCHA sur vos formulaires de site Web avec PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/charger-des-fichiers-sur-amazon-s3-a-l-aide-d-aws-php-sdk\/\" title=\"Charger des fichiers sur Amazon S3 \u00e0 l&#039;aide d&#039;AWS PHP SDK\">Charger des fichiers sur Amazon S3 \u00e0 l&rsquo;aide d&rsquo;AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/telecharger-une-image-a-l-aide-de-la-bibliotheque-bulletproof-en-php\/\" title=\"T\u00e9l\u00e9charger une image \u00e0 l&#039;aide de la biblioth\u00e8que Bulletproof en PHP\">T\u00e9l\u00e9charger une image \u00e0 l&rsquo;aide de la biblioth\u00e8que Bulletproof en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous cherchez un script PHP pour convertir HTML en PDF ? Dans cet article, nous \u00e9tudions comment g\u00e9n\u00e9rer un PDF \u00e0 partir de HTML en utilisant Dompdf. On peut m\u00eame<\/p>\n","protected":false},"author":1,"featured_media":21628,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-25770","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=25770"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25770\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21628"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=25770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=25770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=25770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}