C#/VB.NET: Erstellen Sie ein PDF-Dokument

2023-08-18 02:07:21 zaki zou

Über NuGet installiert

PM> Install-Package Spire.PDF

verwandte Links

Das Erstellen von PDF-Dokumenten aus Code bietet zahlreiche Vorteile. Sie können beispielsweise problemlos dynamische Inhalte wie Benutzereingaben, Datenbankeinträge oder Echtzeitdaten einbinden. Die codebasierte PDF-Generierung ermöglicht eine stärkere Anpassung und Automatisierung und minimiert manuelle Eingriffe bei der Erstellung hochgradig maßgeschneiderter Dokumente. In diesem Artikel erfahren Sie, wie das geht Erstellen Sie ein PDF-Dokument von Grund auf in C# und VB.NET Verwendung von Spire.PDF for .NET.

Installieren Sie Spire.PDF for .NET

Zunächst müssen Sie die im Spire.PDF for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLLs-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Spire.PDF

Hintergrundwissen

Eine Seite in Spire.PDF (dargestellt durch PdfPageBase) besteht aus einem Clientbereich und Rändern rundherum. Der Inhaltsbereich dient dem Benutzer zum Schreiben verschiedener Inhalte, und die Ränder sind normalerweise leere Kanten.

Wie in der folgenden Abbildung dargestellt, befindet sich der Ursprung des Koordinatensystems auf der Seite in der oberen linken Ecke des Clientbereichs, wobei die x-Achse horizontal nach rechts und die y-Achse vertikal nach unten verläuft. Alle dem Kundenbereich hinzugefügten Elemente müssen auf den angegebenen Koordinaten basieren.

C#/VB.NET: Create a PDF Document

Darüber hinaus listet die folgende Tabelle die wichtigen Klassen und Methoden auf, die Ihnen helfen können, den im folgenden Abschnitt bereitgestellten Codeausschnitt besser zu verstehen.

Mitglied Beschreibung
PDFDocument-Klasse Stellt ein PDF-Dokumentmodell dar.
PDFPageBase-Klasse Stellt eine Seite in einem PDF-Dokument dar.
PdfSolidBrush-Klasse Stellt einen Pinsel dar, der jedes Objekt mit einer Volltonfarbe füllt.
PdfTrueTypeFont-Klasse Stellt eine True-Type-Schriftart dar.
PdfStringFormat-Klasse Stellt Informationen zum Textformat dar, z. B. Ausrichtung, Zeichenabstand und Einzug.
PDFTextWidget-Klasse Stellt den Textbereich dar, der sich über mehrere Seiten erstrecken kann.
PDFTextLayout-Klasse Stellt die Textlayoutinformationen dar.
PdfDocument.Pages.Add()-Methode Fügt eine Seite zu einem PDF-Dokument hinzu.
PdfPageBase.Canvas.DrawString()-Methode Zeichnet eine Zeichenfolge auf einer Seite an der angegebenen Position mit angegebenen Schriftart- und Pinselobjekten.
PDFTextWidget.Draw()-Methode Zeichnet das Text-Widget auf einer Seite an der angegebenen Stelle.
PdfDocument.Save()-Methode Speichert das Dokument in einer PDF-Datei.

Erstellen Sie ein PDF-Dokument von Grund auf in C# und VB.NET

Obwohl Spire.PDF for .NET das Hinzufügen verschiedener Arten von Elementen zu PDF-Dokumenten unterstützt, zeigt dieser Artikel nur, wie man ein PDF-Dokument mit einfachem Text erstellt. Im Folgenden finden Sie die detaillierten Schritte.

  • Erstellen Sie ein PdfDocument-Objekt.
  • Fügen Sie eine Seite mit der Methode PdfDocument.Pages.Add() hinzu.
  • Erstellen Sie Pinsel- und Schriftobjekte.
  • Zeichnen Sie mit der Methode PdfPageBase.Canvas.DrawString() eine Zeichenfolge auf der Seite an einer angegebenen Koordinate.
  • Erstellen Sie ein PdfTextWidget-Objekt, das einen Textblock enthält.
  • Zeichnen Sie das Text-Widget mit der Methode PdfTextWidget.Draw() an einer bestimmten Stelle auf der Seite.
  • Speichern Sie das Dokument mit der Methode PdfDocument.Save() in einer PDF-Datei.
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace CreatePdfDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Add a page
                PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f));
    
                //Specify heading text
                String titleText = "What is MySQL";
    
                //Create solid brushes
                PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
                PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));
    
                //Create true type fonts
                PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true);
                PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true);
    
                //Set the text alignment via PdfStringFormat class
                PdfStringFormat format = new PdfStringFormat();
                format.Alignment = PdfTextAlignment.Center;
    
                //Draw heading on the center of the page
                page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);
    
                //Get paragraph content from a .txt file
                string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt");
    
                //Create a PdfTextWidget object to hold the paragrah content
                PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);
    
                //Create a rectangle where the paragraph content will be placed
                RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);
    
                //Set the PdfLayoutType to Paginate to make the content paginated automatically
                PdfTextLayout layout = new PdfTextLayout();
                layout.Layout = PdfLayoutType.Paginate;
    
                //Draw the widget on the page
                widget.Draw(page, rect, layout);
    
                //Save to file
                doc.SaveToFile("CreatePdfDocument.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Create a PDF Document

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch