chicorycom/laravel-dompdf

your System and Security Network Integrator

dev-master / 0.1.x-dev 2017-11-15 10:00 UTC

This package is auto-updated.

Last update: 2024-03-13 01:02:11 UTC


README

Pour Laravel 4.x, vérifiez le 0.4 branch!

Exigez ce paquet dans votre composer.json et mettez à jour le compositeur. Cela va télécharger le paquet et les bibliothèques dompdf + font lib aussi.

composer require Chicorycom/laravel-dompdf:dev-master

Installation

Laravel 5.x:

Après la mise à jour de composer, ajoutez le fournisseur de services au tableau des fournisseurs dans config/app.php

Chicorycom\DomPDF\ServiceProvider::class,

Vous pouvez éventuellement utiliser la façade pour un code plus court. Ajoutez ceci à vos façades:

'PDF' => Chicorycom\DomPDF\Facade::class,

Lumen:

Après la mise à jour composer ajouter les lignes suivantes pour enregistrer dans le fournisseur bootstrap/app.php

$app->register(\Barryvdh\DomPDF\ServiceProvider::class);

Pour modifier la configuration, copiez le fichier de configuration dans votre dossier de configuration et activez-le bootstrap/app.php:

$app->configure('dompdf');

En utilisant

Vous pouvez créer une nouvelle instance DOMPDF et charger une chaîne HTML, un fichier ou un nom de vue. Vous pouvez l'enregistrer dans un fichier, ou diffuser (afficher dans le navigateur) ou télécharger.

$pdf = App::make('dompdf.wrapper');
$pdf->loadHTML('<h1>Test</h1>');
return $pdf->stream();

Ou utilisez la façade:

$pdf = PDF::loadView('pdf.invoice', $data);
return $pdf->download('invoice.pdf');

Vous pouvez enchaîner les méthodes:

return PDF::loadFile(public_path().'/myfile.html')->save('/path-to/my_stored_file.pdf')->stream('download.pdf');

Vous pouvez modifier l'orientation et la taille du papier, et masquer ou afficher les erreurs (par défaut, les erreurs sont affichées lorsque le débogage est activé)

PDF::loadHTML($html)->setPaper('a4', 'landscape')->setWarnings(false)->save('myfile.pdf')

Si vous avez besoin de la sortie sous forme de chaîne, vous pouvez obtenir le PDF rendu avec la fonction output (), vous pouvez donc l'enregistrer / l'éditer vous-même.

Utilisez php artisan vendor: publish pour créer un fichier de configuration situé à config/dompdf.php qui vous permettra de définir des configurations locales pour changer certains paramètres (papier par défaut, etc). Vous pouvez également utiliser ConfigProvider pour définir certaines clés.

Configuration

Les paramètres de configuration par défaut sont définis dans config/dompdf.php. Copiez ce fichier dans votre propre répertoire de configuration pour modifier les valeurs. Vous pouvez publier la configuration en utilisant cette commande:

php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"

Vous pouvez toujours modifier les options de dompdf dans votre code avant de générer le pdf en utilisant cette commande:

PDF::setOptions(['dpi' => 150, 'defaultFont' => 'sans-serif']);

Options disponibles et leurs valeurs par défaut:

  • rootDir: "{app_directory}/vendor/dompdf/dompdf"
  • tempDir: "/tmp" (available in config/dompdf.php)
  • fontDir: "{app_directory}/storage/fonts/" (disponible dans config/dompdf.php)
  • fontCache: "{app_directory}/storage/fonts/" (disponible dans config/dompdf.php)
  • chroot: "{app_directory}" (disponible dans config/dompdf.php)
  • logOutputFile: "/tmp/log.htm"
  • defaultMediaType: "screen" (disponible dans config/dompdf.php)
  • defaultPaperSize: "a4" (disponible dans config/dompdf.php)
  • defaultFont: "serif" (disponible dans config/dompdf.php)
  • dpi: 96 (available in config/dompdf.php)
  • fontHeightRatio: 1.1 (disponible dans config/dompdf.php)
  • isPhpEnabled: false (disponible dans config/dompdf.php)
  • isRemoteEnabled: true (disponible dans config/dompdf.php)
  • isJavascriptEnabled: true (disponible dans config/dompdf.php)
  • isHtml5ParserEnabled: false (disponible dans config/dompdf.php)
  • isFontSubsettingEnabled: false (disponible dans config/dompdf.php)
  • debugPng: false
  • debugKeepTemp: false
  • debugCss: false
  • debugLayout: false
  • debugLayoutLines: true
  • debugLayoutBlocks: true
  • debugLayoutInline: true
  • debugLayoutPaddingBox: true
  • pdfBackend: "CPDF" (disponible dans config/dompdf.php)
  • pdflibLicense: ""
  • adminUsername: "user"
  • adminPassword: "password"

Tip: UTF-8 support

Dans vos modèles, définissez la méta-étiquette UTF-8:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Tip: Page breaks

Vous pouvez utiliser les propriétés CSS page-break-before/ page-break-after pour créer une nouvelle page.

<style>
.page-break {
    page-break-after: always;
}
</style>
<h1>Page 1</h1>
<div class="page-break"></div>
<h1>Page 2</h1>

License

Ce Wrapper DOMPDF pour Laravel est un logiciel open-source sous licence MIT license "# laravel-dompdf"