Diese Seite kann automatisch übersetzten Text enthalten.

.NET-Bibliothek zur PDF-Generierung

Generieren Sie PDF-Dokumente mit der Layout-API, die PDF-Dateien so komplex oder einfach erstellen kann, wie Sie es benötigen. Beschreiben Sie das Layout Ihres Dokuments im Code mithilfe der Fluent-API. Der leistungsstarke C#-PDF-Generator mit Paging-Unterstützung erledigt den Rest.

Verwenden Sie Strukturelemente als Bausteine in C#- oder VB.NET-Code, um perfekte Dokumente zu erhalten. Die Elemente sind Seiten, Container, Tabellen, Absätze, Bilder, Links und dergleichen. Die Bibliothek unterteilt den Dokumentinhalt automatisch in Seiten. Sie können Seitenkopf- und -fußzeilen hinzufügen. Die API unterstützt benutzerdefinierte wiederverwendbare Komponenten. Die Layout-API bietet integrierte Komponenten wie Inhaltsverzeichnisse oder Wasserzeichen.

Bibliothek zur PDF-Generierung

Die Layout-API ist als kostenloses Add-on für die Docotic.Pdf-Bibliothek verfügbar. Sowohl die Bibliothek als auch das Add-on sind zu 100 % verwaltete Code-DLLs. Sie haben keine externen Abhängigkeiten von Drittanbietern. Mit der API können Sie PDF-Dokumente unter Windows, Linux, in Amazon- und Azure-Cloud-Umgebungen erstellen. Auch macOS, iOS und Android sind in Ordnung.

Docotic.Pdf und das Layout-Add-on sind auf NuGet und auf unserer Website verfügbar. Um die Bibliothek ohne Einschränkungen des Testmodus auszuprobieren, holen Sie sich den kostenlosen, zeitlich begrenzten Lizenzschlüssel auf der Bibliotheksseite.

Docotic.Pdf-Bibliothek 9.4.17469-dev Layout-Add-on 9.4.17469-dev
Regressionstests 14,760 bestanden NuGet-Downloads insgesamt 4,447,259

Fließende API zum Erstellen von PDF

Das Add-on bietet eine flüssige API. Sie können die meisten Anrufe miteinander verketten. Dies führt zu einem kompakteren Code als bei „deklarativen“ Frameworks. Und Sie können weiterhin alle gängigen Ansätze zur Codeentwicklung verwenden. Beispielsweise können Sie Ihre Layout-Implementierung mit wiederverwendbaren Teilen aus Hilfsklassen und -methoden prägnanter gestalten.

So erstellen Sie ein PDF-Dokument in C#

Ok, es ist Zeit für ein paar Beispiele.

Hallo, PDF!

Hier ist ein einfaches Beispiel, das zeigt, wie man mithilfe der Layout-API PDF-Dateien in C# generiert. Es wird ein Dokument mit zwei Seiten erstellt. Es ist irgendwie synthetisch, veranschaulicht aber die Funktionsweise der API.

PdfDocumentBuilder.Create().Generate("pages.pdf", doc =>
{
    doc.Pages((PageLayout page) =>
    {
        page.Size(PdfPaperSize.A5);

        page.Header().PaddingTop(70).AlignCenter().Text("Hello, PDF!");

        page.Content().Column(c =>
        {
            for (int i = 0; i < 10; i++)
                c.Item().AlignCenter().Text($"Page 1 block {i + 1}");

            c.Item().PageBreak();
            c.Item().Text("Page 2");
        });

        page.Footer().Text(t => t.CurrentPageNumber());
    });
});

PdfDocumentBuilder.Generate-Methode stellt eine Instanz von Document-Klasse bereit. Mithilfe des Objekts und seiner Pages-Methode ist es möglich, ein Layout für eine oder mehrere Seiten zu definieren.

Der Beispielcode legt die Seitengröße fest und beschreibt den Inhalt in den Slots Header, Content und Footer. Alle diese Slots haben den gleichen LayoutContainer-Typ. LayoutContainer ist ein wichtiger Baustein der Layout-API. Mithilfe von Containern können Sie beliebige Layouts erstellen.

Die Layout-Engine generiert Seiten, die alle Daten enthalten. Die genaue Anzahl hängt vom Inhalt in PageLayout.Content und anderen Slots ab. Die Bibliothek wiederholt den Inhalt der Header- und Footer-Slots auf jeder Seite. Alle Seiten haben die gleiche Größe.

Um Seiten mit unterschiedlichem Layout oder unterschiedlicher Größe zu haben, verwenden Sie mehr als einen Aufruf der Methode Pages.

Text-PDF in C# erstellen

Eine häufige Aufgabe besteht darin, eine Textzeichenfolge in eine PDF-Datei zu konvertieren. Der folgende Code verwendet die Layout-API, um ein PDF-Dokument aus einer Textdatei in C# zu erstellen.

PdfDocumentBuilder
    .Create()
    .Generate("long-text.pdf", doc => doc.Pages(page =>
    {
        string text = File.ReadAllText(@"PDF_Succinctly.txt");
        page.Content().Text(text);
    }));

Der Code liest den gesamten Text aus der Datei und verwendet ihn für den Content-Slot. Es ist nicht erforderlich, Größen zu berechnen oder Textzeichenfolgen in Abschnitte aufzuteilen. Das Layout-Add-on übernimmt all diese Aufgaben. Mit der API ist es einfach, Text in C#-Code in PDF zu konvertieren.

PDF in .NET verschlüsseln

Um eine verschlüsselte PDF-Datei zu erstellen, verwenden Sie einen Verschlüsselungshandler wie im folgenden C#-Codebeispiel.

PdfDocumentBuilder
    .Create()
    .Encryption(new PdfStandardEncryptionHandler("owner", "user"))
    .Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
    {
        // Legen Sie hier den Seiteninhalt fest
    }));

Die Bibliothek erstellt eine mit den Benutzer- und Besitzerkennwörtern verschlüsselte PDF-Datei. Es ist möglich, PDF-Berechtigungen festzulegen für die Benutzer des verschlüsselten Dokuments. Sie können PDFs auch mit Zertifikaten schützen.

Weiterführende Literatur

Die Layout-API bietet zahlreiche Möglichkeiten zum Generieren von PDF-Dateien in C#. Wir empfehlen Ihnen, in den folgenden Artikeln darüber zu lesen: