El paquete puede convertir una página web a una imagen o pdf. La conversión la realiza Puppeteer, que controla una versión sin cabeza de Google Chrome.
Aquí hay un ejemplo rápido:
use SpatieBrowsershotBrowsershot;// se guardará una imagenBrowsershot::url('https://example.com')->save($pathToImage);
Guardará un pdf si la ruta pasada al método save
tiene una extensión pdf
.
// se guardará un pdfBrowsershot::url('https://example.com')->save('example.pdf');
También puedes usar una entrada html arbitraria, simplemente reemplaza el método url
con html
:
Browsershot::html('<h1>¡¡Hola mundo!!</h1>')->save('ejemplo.pdf');
Si su entrada HTML ya está en un archivo localmente use:
Browsershot::htmlFromFilePath('/local/path/to/file.html')->save('ejemplo.pdf');
Browsershot también puede obtener el cuerpo de una página html después de ejecutar JavaScript:
Browsershot::url('https://example.com')->bodyHtml(); // devuelve el html del cuerpo
Si desea recuperar una lista de matrices con todas las solicitudes que activó la página, puede hacerlo:
$solicitudes = Browsershot::url('https://ejemplo.com') ->triggeredRequests();foreach ($solicitudes como $solicitud) {$url = $solicitud['url']; //https://ejemplo.com/}
Para usar el nuevo modo sin cabeza de Chrome, pase el método newHeadless
:
Browsershot::url('https://example.com')->newHeadless()->save($pathToImage);
Aprenda a crear un paquete como este viendo nuestro curso en vídeo premium:
Invertimos muchos recursos en la creación de los mejores paquetes de código abierto. Puedes apoyarnos comprando uno de nuestros productos pagos.
Agradecemos mucho que nos envíe una postal desde su ciudad natal, mencionando cuál de nuestros paquetes está utilizando. Encontrarás nuestra dirección en nuestra página de contacto. Publicamos todas las postales recibidas en nuestro muro virtual de postales.
Toda la documentación está disponible en nuestro sitio de documentación.
Para ejecutar el conjunto de pruebas, necesitará tener instalado Puppeteer. Consulte los requisitos de Browsershot aquí. Por lo general, npm -gi puppeteer
funcionará.
Además, necesitará la CLI pdftotext
que forma parte del paquete poppler-utils. Puede encontrar más información en el archivo Léame de spatie/pdf-to-text. Por lo general, brew install poppler-utils
será suficiente.
Finalmente ejecute las pruebas con:
prueba de compositor
Consulte CONTRIBUCIÓN para obtener más detalles.
Si encuentra un error relacionado con la seguridad, envíe un correo electrónico a [email protected] en lugar de utilizar el rastreador de problemas.
Si no puede instalar Node y Puppeteer, eche un vistazo a la versión 2 de browsershot, que utiliza la CLI sin cabeza de Chrome para tomar una captura de pantalla. v2
ya no se mantiene, pero debería funcionar bastante bien.
Si usar Chrome sin cabeza no le funciona, eche un vistazo a v1
de este paquete que utiliza el binario PhantomJS
abandonado.
Freek Van der Herten
Todos los contribuyentes
Y un agradecimiento especial a Caneco por el logo.
La Licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.