Inhaltsverzeichnis
barryvdh/laravel-dompdf installieren und einrichten
1. Installieren Sie über Komponisten
2. (Optional) Veröffentlichen Sie die Konfiguration
? Erstellen Sie ein PDF aus einer Klingenansicht
1. Erstellen Sie eine Klingenansicht
2. Generieren Sie PDF im Controller
? Zusätzliche Optionen
⚠️ Einschränkungen von Dompdf
✅ Alternative: Verwenden Sie laravel-snappy (WKHTMLTOPDF)
Zusammenfassung
Heim PHP-Framework Laravel Wie generiere ich PDFs in Laravel?

Wie generiere ich PDFs in Laravel?

Jul 27, 2025 am 03:39 AM

Verwenden Sie zum Generieren von PDF Barryvdh/Laravel-Dompdf. 1. Installieren Sie den Komponisten für Barryvdh/Laravel-Dompdf; 2. Optional veröffentlichen Konfiguration PHP Artisan Anbieter: Publish -Provider = "Barryvdh \ dompdf \ serviceProvider"; 3. Erstellen Sie eine Blattvorlage wie invoice.blade.php; 4. Verwenden Sie PDF :: LoadView ('pdf.invoice', compact ('Rechnung') im Controller, um es zu generieren; 5. Rufen Sie Download () zum Herunterladen oder Stream () zur Vorschau an. Sie können Optionen wie Papierrichtung, Ränder usw. festlegen; Beachten Sie, dass DompDF CSS nur begrenzt unterstützt und empfohlen wird, Laravel-Snappy mit WKHTMLTOPDF für komplexe Layouts zu verwenden.

Wie generiere ich PDFs in Laravel?

Das Generieren von PDFs in Laravel ist eine häufige Voraussetzung für das Erstellen von Rechnungen, Berichten oder herunterladbaren Dokumenten. Der beliebteste und zuverlässigste Weg, dies zu tun, besteht darin, die Barryvdh/Laravel-Dompdf- oder Spipu/HTML2PDF -Pakete zu verwenden. Im Folgenden finden Sie die Schritte mit Dompdf , die weit verbreitet und mit Laravel gut integriert sind.

Wie generiere ich PDFs in Laravel?

barryvdh/laravel-dompdf installieren und einrichten

Dieses Paket wickelt die Dompdf -Bibliothek ein und erleichtert das Erstellen von PDFs aus HTML -Ansichten in Laravel.

1. Installieren Sie über Komponisten

 Der Komponist benötigt Barryvdh/Laravel-Dompdf

Hinweis: Stellen Sie für Laravel 9 sicher, dass Sie eine kompatible Version verwenden. Verwenden Sie barryvdh/laravel-dompdf:^2.0 für Laravel 9.

Wie generiere ich PDFs in Laravel?

2. (Optional) Veröffentlichen Sie die Konfiguration

 PHP Artisan Vendor: Publish -Provider = "Barryvdh \ dompdf \ serviceProvider"

Dadurch wird eine Konfigurationsdatei unter config/dompdf.php erstellt, in der Sie Einstellungen wie Standardpapiergröße, Schriftverzeichnis usw. anpassen können.


? Erstellen Sie ein PDF aus einer Klingenansicht

Sie können jede Blattvorlage in ein PDF umwandeln.

Wie generiere ich PDFs in Laravel?

1. Erstellen Sie eine Klingenansicht

Zum Beispiel: resources/views/pdf/invoice.blade.php

 <! DocType html>
<html>
<kopf>
    <title> Rechnung </title>
    <Styles>
        Körper {Schriftfamilie: Arial, sans-serif; }
        .Header {text-align: center; Randboden: 20px; }
        Tabelle {Breite: 100%; Grenzkollapse: Zusammenbruch; }
        th, td {Border: 1px solid #ccc; Polsterung: 8px; Text-Align: links; }
        .Total {Schriftgewicht: BOLD; }
    </style>
</head>
<body>
    <div class = "Header">
        <h2> Rechnung #{{$ in Rechnung-> ID}} </h2>
        <p> Datum: {{$ in Rechnung-> Datum}} </p>
    </div>

    <tabelle>
        <kopf>
            <tr>
                <Th> Beschreibung </th>
                <Th> Menge </th>
                <Th> Preis </th>
            </tr>
        </head>
        <tbody>
            @foreach ($ in Rechnung-> Artikel als $ item)
                <tr>
                    <td> {{$ item-> name}} </td>
                    <td> {{$ item-> quantity}} </td>
                    <td> $ {{$ item-> Preis}} </td>
                </tr>
            @endforach
        </tbody>
    </table>

    <p class = "Gesamt"> Gesamt: $ {{$ in Rechnung-> Gesamt}} </p>
</body>
</html>

2. Generieren Sie PDF im Controller

 Verwenden Sie Barryvdh \ dompdf \ facade \ pdf;

Öffentliche Funktion GeneratePDF ($ ID)
{
    $ invoice = incrice :: mit (&#39;item&#39;)-> findorfail ($ id);
    $ pdf = pdf :: loadView (&#39;pdf.invoice&#39;, compact (&#39;in Rechnung&#39;));

    $ pdf-> download (&#39;invoice_&#39;. $ id. &#39;.pdf&#39;);
}

Verwenden Sie stream() zur Vorschau im Browser:

 return $ pdf-> stream (&#39;invoice.pdf&#39;);

? Zusätzliche Optionen

Sie können die PDF -Ausgabe anpassen:

 $ pdf = pdf :: loadView (&#39;pdf.invoice&#39;, $ data)
          -> Setpaper (&#39;A4&#39;, &#39;Landschaft&#39;)
          -> setoption (&#39;margin_bottom&#39;, 20);

return $ pdf-> download (&#39;report.pdf&#39;);

Häufige Optionen:

  • setPaper(&#39;a4&#39;, &#39;portrait&#39;) oder &#39;landscape&#39;
  • setOption(&#39;dpi&#39;, 150)
  • setOption(&#39;defaultFont&#39;, &#39;sans-serif&#39;)

⚠️ Einschränkungen von Dompdf

Dompdf hat zwar einfach zu bedienen, hat einige Einschränkungen:

  • Begrenzte CSS -Unterstützung (keine Flexbox, komplexe Layouts können brechen)
  • Langsamer für große Dokumente
  • Schriftarten müssen möglicherweise sorgfältig eingebettet werden

Für fortgeschrittenere PDFs sollten Sie sich in Betracht ziehen:

  • Spipu/HTML2PDF (Better CSS -Unterstützung basiert auf TCPDF)
  • WKHTMLTOPDF über laravel-snappy (verwendet Webkit, am besten für komplexe Layouts)

✅ Alternative: Verwenden Sie laravel-snappy (WKHTMLTOPDF)

Installieren:

 Der Komponist benötigt Barryvdh/Laravel-Snappy

Konfiguration veröffentlichen:

 PHP Artisan Vendor: Publish -Provider = "Barryvdh \ Snappy \ serviceProvider"

Dann verwenden Sie:

 Verwenden Sie Barryvdh \ Snappy \ facades \ snappypdf;

Snappypdf :: LoadView (&#39;pdf.invoice&#39;, $ data)
         -> download (&#39;invoice.pdf&#39;);

Erfordert wkhtmltopdf auf dem Server.


Zusammenfassung

PDFs in Laravel zu generieren:

  • ✅ Verwenden Sie Barryvdh/Laravel-Dompdf für einfache, schnelle PDFs von Blade Views
  • ✅ Entwerfen Sie Ihr Layout in einer Blattvorlage
  • ✅ Verwenden Sie Pdf::loadView() und download() oder stream()
  • ⚠️ Achten Sie auf CSS -Einschränkungen
  • ? Betrachten Sie für komplexe Layouts Laravel-Snappy mit wkhtmltopdf

Grundsätzlich ist es unkompliziert, sobald sich eingerichtet hat. Schreiben Sie einfach HTML und Laravel Dompdf macht den Rest.

Das obige ist der detaillierte Inhalt vonWie generiere ich PDFs in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie kämpfe ich Nachrichten in einer Datei in Laravel an? Wie kämpfe ich Nachrichten in einer Datei in Laravel an? Sep 21, 2025 am 06:04 AM

LaravelusesmonologtologMessagesViathelogfacade, withefaultLogStoredInstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput; thedefaultStackchannelaggatesMulthandleSlerslikesingle: WARNSLIKSLE:

Wie man eine API in Laravel authentifiziert Wie man eine API in Laravel authentifiziert Sep 18, 2025 am 12:26 AM

InstalllaravelsanctumviaComposerandpublishitsFiles, thenrunmigrations.2.addthehasapitokenStHeTotheumodel..Definelogin, logout, andusereRroutesinapi.php, ussingtum'uth: santummiddleware

Wie schreibe ich einen Feature -Test in Laravel mit Schädling? Wie schreibe ich einen Feature -Test in Laravel mit Schädling? Sep 16, 2025 am 06:12 AM

InstallpestViaCompoSerandInitializeInlarAvelTosetuptesting.2.CreateAreAturETestInTests/FeatureToValidesuser-Ausstattungsinteraktionen wie 简洁 Syntax 简洁 Syntax.

Wie erstelle ich eine Volltext-Suche in Laravel? Wie erstelle ich eine Volltext-Suche in Laravel? Sep 16, 2025 am 03:42 AM

Toimplementful-textSearchInlaravel, FirstAddAfull-TextIndexinThemigRationusing $ table-> fulltext (['title', 'content']); dann verwendete wherefulText (['title', 'content'], $ query) InqueriesFicientssearching ;kapsulatelogicinamodelScopeScoperScrosscrosreuability und -Artrossibilnba

Wie benutze ich die HasManyThrough -Beziehung in Laravel? Wie benutze ich die HasManyThrough -Beziehung in Laravel? Sep 17, 2025 am 06:38 AM

AcountrycanaccessallpostsThroughussersesusingHasManyThrough.Fexample, With Countries, Benutzer und PoststablesLinkedByforegnkeys, thecountryModeldefinesahasManyThroughrelationSiptopostviouser, EntringingIntirectdatarethriehrung-to-Manyrelatio

Wie kann man die API -Authentifizierung mit Laravel Sanctum implementieren? Wie kann man die API -Authentifizierung mit Laravel Sanctum implementieren? Sep 19, 2025 am 04:08 AM

ToimplementapiauthenticationWithlaravelsanktum, youEeedtoSetuptoken-basierte authentifizierungsthatallowsspas, MobileApps und THERRT-PARTYSVICESTOSELEY Accessyourapi.SanktumProvidesalightweigroachByissuingapitokenthatcan

Wie benutze ich Routenressourcencontroller in Laravel? Wie benutze ich Routenressourcencontroller in Laravel? Sep 24, 2025 am 05:05 AM

Der Laravel Resource Controller verarbeitet CRUD -Operationen schnell durch Rastful Routing, verwendet den Befehl Artisan, um Controller zu generieren und Ressourcenrouten zu registrieren, und kann alle Standardrouten in einer einzelnen Codezeile erstellen, die die Einschränkung von Aktionen unterstützt, die Middleware -Marke hinzufügt und die Benennung von Middleware -Benutzern und Maschinenverkehrsmodell -Bindung automatisch analysieren, die Entwicklung der Entwicklungswirkungsstrukturen verbessert und die Codestruktur speichern.

Wie kann man einen Benutzer in einem Laravel -Controller umleiten? Wie kann man einen Benutzer in einem Laravel -Controller umleiten? Sep 21, 2025 am 05:26 AM

Verwenden Sie die Funktion "Redirect () Helfer, um die Umleitung im Laravel-Controller zu realisieren, wie z. Es wird empfohlen, benannte Routen zu verwenden, um die Wartbarkeit zu verbessern.

See all articles