{"id":29307,"date":"2021-06-12T20:03:00","date_gmt":"2021-06-12T17:03:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29307"},"modified":"2021-10-17T16:19:17","modified_gmt":"2021-10-17T13:19:17","slug":"como-convertir-html-a-pdf-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-convertir-html-a-pdf-en-php\/","title":{"rendered":"C\u00f3mo convertir HTML a PDF en PHP"},"content":{"rendered":"<p>PDF (Portable Document Format) es un formato de archivo que incluye formato de texto e im\u00e1genes en un dise\u00f1o fijo. El PDF es independiente del software, el hardware y el sistema operativo de la aplicaci\u00f3n. Eso significa que puede usar el mismo PDF en cualquier sistema operativo.<\/p>\n<p>Mientras trabajamos en aplicaciones PHP, a veces queremos crear PDF a partir de HTML. Puede ser una factura, una gu\u00eda de instalaci\u00f3n, un curriculum vitae, etc. Para que sea din\u00e1mico, necesitamos generar PDF usando HTML sobre la marcha.<\/p>\n<p>En este art\u00edculo, le muestro c\u00f3mo convertir HTML a PDF en PHP usando la biblioteca Dompdf.<\/p>\n<p><a href=\"https:\/\/github.com\/dompdf\/dompdf\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Dompdf<\/a> es una biblioteca de conversi\u00f3n de HTML a PDF de c\u00f3digo abierto. Con Dompdf, puede crear f\u00e1cilmente PDF a partir de HTML sin formato o utilizando un archivo HTML.<\/p>\n<h3>Empezando<\/h3>\n<p>Para comenzar, primero debe instalar la biblioteca Dompdf en su aplicaci\u00f3n. Recomiendo usar <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> para la instalaci\u00f3n de la biblioteca.<\/p>\n<p>Abra la terminal en el directorio ra\u00edz de su proyecto y ejecute el comando:<\/p>\n<pre><code>composer require dompdf\/dompdf<\/code><\/pre>\n<p>Despu\u00e9s de instalar una biblioteca, puede incluir el entorno Dompdf en su proyecto utilizando el siguiente c\u00f3digo.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\u00a0\nuse DompdfDompdf;<\/code><\/pre>\n<h3>Convertir HTML a PDF en PHP<\/h3>\n<p>El c\u00f3digo necesario para generar PDF es simple y directo. Como ejemplo, digamos que tiene un HTML sin formato que deber\u00eda convertirse en PDF. Cree un <code>index.php<\/code>archivo y agregue escribir el c\u00f3digo de la siguiente manera.<\/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>Aqu\u00ed, estamos pasando un HTML sin formato al m\u00e9todo <code>loadHtml()<\/code>. Cuando ejecutamos este archivo, generar\u00e1 PDF y se renderizar\u00e1 en un navegador.<\/p>\n<p>Tambi\u00e9n podemos darle un nombre al PDF que se va a descargar.<\/p>\n<pre><code>$dompdf-&gt;stream('test.pdf');<\/code><\/pre>\n<p>Aprendi\u00f3 a generar PDF a partir de HTML sin formato. Ahora, veamos c\u00f3mo crear PDF usando un archivo HTML.<\/p>\n<p>Hay 2 formas de hacerlo. En la primera forma, obtenemos el contenido del archivo HTML y lo pasamos al <code>loadHtml()<\/code>m\u00e9todo. Otra forma es usar la <code>loadHtmlFile()<\/code>funci\u00f3n y pasarle la ruta del archivo HTML.<\/p>\n<p>Veamos ambos sentidos uno por uno.<\/p>\n<p><strong>Primer m\u00e9todo<\/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>Segundo m\u00e9todo<\/strong><\/p>\n<p>En este m\u00e9todo, primero debe establecer el &#8216;chroot&#8217; del directorio donde se encuentra su archivo HTML. Si su archivo HTML est\u00e1 en el directorio ra\u00edz, utilice directamente el <code>getcwd()<\/code>m\u00e9todo. Debe ajustar la ruta seg\u00fan sus requisitos.<\/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>Guarde el archivo PDF generado<\/h3>\n<p>Todos los c\u00f3digos anteriores que hemos escrito mostrar\u00e1n el PDF generado en un navegador. Si alguien quiere guardar el PDF generado en un disco, utilice el c\u00f3digo de la siguiente manera:<\/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>Se trata de convertir HTML a PDF utilizando la biblioteca Dompdf. Me gustar\u00eda escuchar sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/uso-de-google-recaptcha-en-los-formularios-de-su-sitio-web-con-php\/\" title=\"Uso de Google reCAPTCHA en los formularios de su sitio web con PHP\">Uso de Google reCAPTCHA en los formularios de su sitio web con PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/cargar-archivos-en-amazon-s3-mediante-aws-php-sdk\/\" title=\"Cargar archivos en Amazon S3 mediante AWS PHP SDK\">Cargar archivos en Amazon S3 mediante AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/cargar-imagen-usando-la-biblioteca-bulletproof-en-php\/\" title=\"Cargar imagen usando la biblioteca a prueba de balas en PHP\">Cargar imagen usando la biblioteca a prueba de balas en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfEst\u00e1 buscando un script PHP para convertir HTML a PDF? En este art\u00edculo, estudiamos c\u00f3mo generar PDF a partir de HTML utilizando Dompdf. Incluso podemos<\/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":[271],"tags":[849],"class_list":["post-29307","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=29307"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/29307\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21628"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=29307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=29307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=29307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}