Convertir HTML a Imagen (JPG, PNG, GIF) con PHP ?

  • Autor Autor marvincity
  • Fecha de inicio Fecha de inicio
M

marvincity

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Me encantaría que sea un aporte, pero es más una duda, alguien sabria como logro algo similar a lo que logra: Convert HTM to JPG online

Gracias! 😀
 

Google con todas las opciones y combinaciones posibles pero no encuentro algo similar a pdfconvertonline.com

html to image php script cumple lo que promete, pero la imagen resultado es MUY mala en relacion a resolución, podrian darme algun consejo? Ejemplo:

Vista desde navegador: http://i.imgur.com/5Ro5Iur.png
Vista generada por script: http://i.imgur.com/v0aYpNS.jpg

El codigo que estoy utilizando es:

Insertar CODE, HTML o PHP:
<?php
require_once('html2_pdf_lib/html2pdf.class.php');
$html_content = ' MI HTML ';
 $html2pdf = new HTML2PDF('P', 'A3');
 $html2pdf->setDefaultFont('times');
 $html2pdf->writeHTML($html_content);
 $file = $html2pdf->Output('temp2.pdf','F');

 $im = new imagick('temp2.pdf');
$im->setImageFormat( "jpg" );
$img_name = time().'2.jpg';
#$im->setSize(1200,1900);
$im->writeImage($img_name);
$im->clear();
$im->destroy();
?>

<img src="<? echo $img_name ?>"/>

Si bien el PDF queda bien, en el momento de pasar el PDF a JPG con ImageMagick la imagen pierde mucha resolución y por mas que intente mejorarsela con las opciones setSize y setImageCompressionQuality(100) no consigo que mejore ni el tamaño ni la resolución.

Gracias!

* Por otro lado html2canvas no se encuentra en PHP (o no lo encontre de esa manera) por lo cual no me es util.

- - - Actualizado - - -

Ok, les dejo la solucion que me sirvió, basico porque era para lo que lo queria, queda en ustedes mejorarla, un abrazo!

Insertar CODE, HTML o PHP:
<?php
require_once('html2_pdf_lib/html2pdf.class.php');
$html_content = ' CODIGO HTML ';
 $html2pdf = new HTML2PDF('P', 'A5');
 $html2pdf->setDefaultFont('helvetica');
 $html2pdf->writeHTML($html_content);
 $file = $html2pdf->Output('temp.pdf','F');
 $img_name = time().'.jpg';
exec('/usr/bin/convert -density 300  /home/usuario/public_html/creador/temp2.pdf -quality 100 -resize 10% /home/usuario/public_html/creador/'.$img_name.'');
?>

<img src="<? echo $img_name ?>"/>
 
Atrás
Arriba