Facade Pdf
La Facade Pdf fournit un proxy statique pratique vers le binding PdfDocumentInterface enregistré par le TcpdfServiceProvider. Toutes les valeurs de configuration de config/tcpdf-next.php sont appliquées automatiquement.
use Yeeefang\TcpdfNext\Laravel\Facades\Pdf;Créer un document
Pdf::create() résout une instance Document fraîche depuis le conteneur avec tous les paramètres de config par défaut pré-appliqués :
$pdf = Pdf::create();
$pdf->addPage()
->setFont('Helvetica', '', 12)
->cell(0, 10, 'Hello from Laravel!')
->save(storage_path('app/hello.pdf'));Chaque appel à create() retourne une nouvelle instance. Les documents ne sont jamais partagés entre appels.
API fluide
Toutes les méthodes Document sont disponibles via la Facade et retournent static pour le chaînage :
$pdf = Pdf::create()
->setTitle('Quarterly Report')
->setAuthor('Finance Team')
->setMargins(left: 15, top: 20, right: 15)
->addPage()
->setFont('Helvetica', 'B', 18)
->cell(0, 12, 'Q1 2026 Report')
->ln()
->setFont('Helvetica', '', 11)
->multiCell(0, 6, $reportBody);Binding de configuration
La Facade lit les valeurs par défaut de config/tcpdf-next.php. Vous pouvez remplacer n'importe quel paramètre par document :
// Utilise les valeurs par défaut de config (A4 portrait, Helvetica 11pt)
$default = Pdf::create();
// Remplacer le format de page pour ce document uniquement
$receipt = Pdf::create()
->setPageFormat('A5')
->setMargins(left: 10, top: 10, right: 10);Voir Configuration pour la référence complète.
Référence de classe Facade
namespace Yeeefang\TcpdfNext\Laravel\Facades;
use Illuminate\Support\Facades\Facade;
/**
* @method static \Yeeefang\TcpdfNext\Core\Document create()
* @method static void fake()
* @method static void assertCreated()
* @method static void assertCreatedCount(int $count)
*
* @see \Yeeefang\TcpdfNext\Core\Document
*/
class Pdf extends Facade
{
protected static function getFacadeAccessor(): string
{
return \Yeeefang\TcpdfNext\Contracts\PdfDocumentInterface::class;
}
}Test avec Pdf::fake()
Remplacer le binding réel par un fake pour assertions sans générer de bytes PDF réels :
use Yeeefang\TcpdfNext\Laravel\Facades\Pdf;
public function test_invoice_generates_pdf(): void
{
Pdf::fake();
$response = $this->get('/invoices/42/pdf');
$response->assertOk();
Pdf::assertCreated();
Pdf::assertCreatedCount(1);
}Le fake enregistre chaque appel de méthode, vous pouvez donc inspecter la chaîne fluide :
Pdf::fake();
$this->get('/invoices/42/pdf');
Pdf::assertCreated(function ($pdf) {
return $pdf->getTitle() === 'Invoice #42'
&& $pdf->getPageCount() >= 1;
});Prochaines étapes
- Réponses HTTP — Livrer des PDF au navigateur en toute sécurité
- Tâches de file — Décharger la génération vers workers en arrière-plan
- Configuration — Toutes les clés de config disponibles