Installation de NextPDF Artisan
Installe nextpdf/artisan avec Composer. Composer installe aussi la dépendance d’exécution chrome-php/chrome par transitivité. Rends ensuite un binaire Chrome ou Chromium accessible au processus PHP.
Installation
Section intitulée « Installation »composer require nextpdf/artisanLe package déclare les contraintes suivantes dans composer.json :
| Exigence | Contrainte | Notes |
|---|---|---|
php | >=8.4 <9.0 | PHP 8.4 uniquement |
nextpdf/core | ^3.0 || ^5.2 | Le moteur open source NextPDF |
chrome-php/chrome | ^1.15 | Bibliothèque cliente CDP ; installée par transitivité |
psr/log | ^3.0 | Point d’injection facultatif pour un logger |
Composer résout automatiquement chrome-php/chrome. Le binaire Chrome est une dépendance système et n’est jamais installé par Composer.
Installer le binaire Chrome
Section intitulée « Installer le binaire Chrome »Le pont a besoin d’un exécutable Chrome ou Chromium. Par défaut, chrome-php/chrome détecte automatiquement un binaire dans les emplacements courants. Pour définir un chemin explicite, passe-le par la configuration : voir /integrations/artisan/configuration/ et la page dédiée /integrations/artisan/chrome-renderer-setup/.
# Debian / Ubuntuapt-get install -y chromium
# RHEL / Fedoradnf install -y chromium
# macOS (Homebrew)brew install --cask chromiumVérifie que le binaire fonctionne en mode headless avant de le câbler dans l’application :
chromium --headless --dump-dom about:blankUne exécution réussie affiche un document DOM vide et se termine avec le code de sortie 0. Un code de sortie non nul signifie que le binaire ou ses bibliothèques partagées sont manquants. Corrige le problème avant de continuer, car le pont fait remonter le même échec sous la forme d’une ChromeRenderException au moment du rendu.
Vérifier que le package est correctement intégré
Section intitulée « Vérifier que le package est correctement intégré »<?php
declare(strict_types=1);
use NextPDF\Artisan\ChromeRendererConfig;use NextPDF\Artisan\ChromeHtmlRenderer;
require __DIR__ . '/vendor/autoload.php';
$renderer = new ChromeHtmlRenderer(new ChromeRendererConfig());
echo $renderer->getHtmlSecurityPolicy()->getName(), PHP_EOL;// Prints: defaultCela instancie le renderer et récupère la politique de sécurité HTML par défaut sans lancer Chrome. Cela confirme que l’autoloading et les liaisons de contrat nextpdf/core sont correctement résolus. (Comportement vérifié par tests/Unit/Artisan/ChromeHtmlRendererTest.php::usesDefaultHtmlSecurityPolicyWhenNoneInjected.)
Installations en conteneur
Section intitulée « Installations en conteneur »Dans Docker, le sandbox Chrome ne peut généralement pas démarrer en tant que PID 1 / root sans capacités du noyau supplémentaires. Le package expose l’option noSandbox pour ce cas. Désactiver le sandbox Chrome a un coût réel pour la sécurité. Les pages /integrations/artisan/security-and-operations/ et /integrations/artisan/chrome-renderer-setup/ documentent ce coût et en énoncent explicitement les limites. N’active pas cette option sans avoir lu cette section.
Cas limites & pièges
Section intitulée « Cas limites & pièges »chrome-php/chromeprésent mais aucun binaire. Composer réussit ; le premier rendu lève uneChromeRenderExceptionqui enveloppe l’échec de lancement. La vérification de la bibliothèque est distincte de la vérification du binaire.chrome-php/chromeabsent. Si la bibliothèque est supprimée de l’autoloader,BrowserPool::getBrowser()lèveChromeNotAvailableExceptionavec la commande de remédiation exacte. (Vérifié partests/Unit/Artisan/BrowserPoolTest.php::getBrowserThrowsWhenChromePhpPackageIsUnavailable.)- Contrainte de version.
nextpdf/core: ^3.0 || ^5.2— Artisan prend en charge les deux branches majeures de core. Fixe la version de core que ton application cible.
Notes de sécurité
Section intitulée « Notes de sécurité »Installer le pont introduit un processus externe (Chrome) dans la frontière de confiance. Consulte /integrations/artisan/security-and-operations/ avant d’exposer un chemin de rendu à du HTML fourni par l’utilisateur.
Voir aussi
Section intitulée « Voir aussi »- /integrations/artisan/overview/
- /integrations/artisan/configuration/
- /integrations/artisan/quickstart/
- /integrations/artisan/chrome-renderer-setup/
- /integrations/artisan/security-and-operations/