Le package peut convertir une page Web en image ou en PDF. La conversion est effectuée en coulisses par Puppeteer qui contrôle une version sans tête de Google Chrome.
Voici un exemple rapide :
utilisez SpatieBrowsershotBrowsershot;// une image sera enregistréeBrowsershot::url('https://example.com')->save($pathToImage);
Il enregistrera un pdf si le chemin transmis à la méthode save
a une extension pdf
.
// un pdf sera enregistréBrowsershot::url('https://example.com')->save('example.pdf');
Vous pouvez également utiliser une entrée HTML arbitraire, remplacez simplement la méthode url
par html
:
Browsershot::html('<h1>Bonjour tout le monde !!</h1>')->save('exemple.pdf');
Si votre entrée HTML est déjà dans un fichier localement, utilisez le :
Browsershot::htmlFromFilePath('/local/path/to/file.html')->save('example.pdf');
Browsershot peut également récupérer le corps d'une page HTML après l'exécution de JavaScript :
Browsershot::url('https://example.com')->bodyHtml(); // renvoie le html du corps
Si vous souhaitez récupérer une liste de tableaux avec toutes les requêtes déclenchées par la page, vous pouvez le faire :
$requests = Browsershot::url('https://example.com') ->triggeredRequests();foreach ($requests as $request) {$url = $request['url']; //https://exemple.com/}
Pour utiliser le nouveau mode sans tête de Chrome, passez la méthode newHeadless
:
Browsershot::url('https://example.com')->newHeadless()->save($pathToImage);
Apprenez à créer un package comme celui-ci en regardant notre cours vidéo premium :
Nous investissons beaucoup de ressources dans la création des meilleurs packages open source de leur catégorie. Vous pouvez nous soutenir en achetant l'un de nos produits payants.
Nous apprécions grandement que vous nous envoyiez une carte postale de votre ville natale, mentionnant le(s) forfait(s) que vous utilisez. Vous trouverez notre adresse sur notre page contact. Nous publions toutes les cartes postales reçues sur notre mur virtuel de cartes postales.
Toute la documentation est disponible sur notre site de documentation.
Pour exécuter la suite de tests, vous devrez avoir installé Puppeteer. Veuillez vous référer aux exigences de Browsershot ici. Habituellement, npm -gi puppeteer
fera l'affaire.
De plus, vous aurez besoin de la CLI pdftotext
qui fait partie du package poppler-utils. Plus d'informations peuvent être trouvées dans le fichier readme spatie/pdf-to-text. Habituellement, brew install poppler-utils
suffira.
Enfin, lancez les tests avec :
test de compositeur
Veuillez consulter CONTRIBUER pour plus de détails.
Si vous avez trouvé un bug concernant la sécurité, veuillez envoyer un mail à [email protected] au lieu d'utiliser le suivi des problèmes.
Si vous ne parvenez pas à installer Node et Puppeteer, jetez un œil à la version 2 de Browsershot, qui utilise la CLI sans tête Chrome pour prendre une capture d'écran. v2
n'est plus maintenue, mais devrait plutôt bien fonctionner.
Si l'utilisation de Chrome sans tête ne fonctionne pas pour vous, jetez un œil à v1
de ce package qui utilise le binaire PhantomJS
abandonné.
Freek Van der Herten
Tous les contributeurs
Et un merci tout particulier à Caneco pour le logo
La licence MIT (MIT). Veuillez consulter le fichier de licence pour plus d'informations.