Erstellen Sie PDF Dokumente mit C#

Die automatisierte Generierung und Verarbeitung von PDF Dokumenten ist in den letzten Tagen zu einem anspruchsvollen Feature geworden. In verschiedenen Anwendungen werden PDF Dokumente wie Rechnungen, Quittungen und verschiedene Arten von Berichten dynamisch generiert. Dementsprechend behandelt dieser Artikel die grundlegende Implementierung der PDF-Automatisierung in .NET Anwendungen. Schließlich lernen Sie, wie Sie PDF Dateien mit C# erstellen. Die Codebeispiele zeigen, wie Text, Bilder, Tabellen und andere Komponenten mit C# in PDF eingefügt werden.

C# .NET PDF-API – kostenloser Download

Aspose.PDF for .NET ist eine API zur Bearbeitung von PDF Dateien, mit der Sie PDF Dateien aus Ihren .NET Anwendungen generieren und verarbeiten können. Mit der API können Sie verschiedene Arten von Berichten und Geschäftsdokumenten dynamisch generieren. Die API ist als herunterladbare DLL verfügbar und wird auf NuGet gehostet.

Install-Package Aspose.Pdf

PDF Dateien in C# erstellen

Beginnen wir mit der Erstellung eines einfachen PDF Dokuments, das ein Textfragment enthält. Im Folgenden sind die Schritte zum Erstellen einer PDF Datei mit C# aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie eine einfache PDF Datei mit C# erstellen.

// Dokumentenobjekt initialisieren
Document document = new Document();

// Seite hinzufügen
Page page = document.Pages.Add();

// Text zu neuer Seite hinzufügen
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// PDF speichern 
document.Save("document.pdf");

Lesen Sie mehr über Erstellen komplexer PDF Dokumente.

Bearbeiten Sie eine PDF Datei in C#

Das Ändern einer PDF Datei ist so einfach wie das Erstellen einer neuen. Laden Sie einfach die Datei mit der Klasse Document, führen Sie die gewünschten Operationen aus und speichern Sie sie. Im Folgenden sind die Schritte zum Ändern einer PDF Datei aufgeführt.

  • Erstellen Sie ein Objekt der Klasse Document und stellen Sie dem Konstruktor den Pfad einer PDF Datei bereit.
  • Bearbeiten Sie die Seiten oder den Inhalt des Dokuments.
  • Speichern Sie das Dokument mit der methode Document.Save().

Das folgende Codebeispiel zeigt, wie Sie eine PDF Datei mit C# ändern.

// PDF laden
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Machen Sie einige Manipulationen, zB fügen Sie eine neue leere Seite hinzu
pdfDocument.Pages.Add();

// Speichern Sie die aktualisierte PDF Datei
pdfDocument.Save(modifiedFileName);

Bild mit C# in PDF einfügen

Sehen wir uns nun an, wie Sie ein Bild in das PDF Dokument einfügen. Im Folgenden sind die Schritte dazu aufgeführt.

  • Erstellen Sie ein Objekt der Klasse Document, um ein PDF Dokument zu öffnen.
  • Greifen Sie mit der Klasse Page auf die Seite zu, der Sie ein Bild hinzufügen möchten.
  • Fügen Sie das Bild zur Sammlung Ressourcen der Seite hinzu.
  • Verwenden Sie Operatoren, um das Bild auf der Seite zu platzieren:
    • GSpeichern operator to save the current graphical state.
    • Matrix verketten operator to specify where the image is to be placed.
    • Tun operator to draw the image on the page.
    • Verwenden Sie schließlich den Operator GRestore, um den aktualisierten grafischen Zustand zu speichern.
  • Speichern Sie die PDF Datei.

Das folgende Codebeispiel zeigt, wie Sie einem PDF Dokument mit C# ein Bild hinzufügen.

// Dokument öffnen
Document pdfDocument = new Document("document.pdf");

// Koordinaten festlegen
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Holen Sie sich die Seite, auf der das Bild hinzugefügt werden muss
Page page = pdfDocument.Pages[1];

// Bild in Stream laden
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Fügen Sie ein Bild zur Bildersammlung von Seitenressourcen hinzu
page.Resources.Images.Add(imageStream);

// Verwenden des GSave-Operators: Dieser Operator speichert den aktuellen Grafikstatus
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Erstellen Sie Rechteck und Matrixobjekte
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Verwendung des Operators ConcatenateMatrix (Matrix verketten): Definiert, wie das Bild platziert werden muss
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Verwenden des Do-Operators: Dieser Operator zeichnet ein Bild
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Verwendung des GRestore-Operators: Dieser Operator stellt den Grafikzustand wieder her
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// Aktualisiertes Dokument speichern
pdfDocument.Save("document.pdf");

Lesen Sie mehr über Bilder in PDF einfügen.

Erstellen Sie eine Tabelle in PDF mit C#

Die Tabellen sind ein wesentlicher Bestandteil der Dokumente, mit denen die Daten in Form von Zeilen und Spalten organisiert werden. Aspose.PDF for .NET bietet Ihnen eine recht einfache Möglichkeit, Tabellen in PDF Dokumenten zu erstellen und einzufügen. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

  • Laden Sie die PDF Datei mit der Klasse Document.
  • Initialisieren Sie eine Tabelle und legen Sie ihre Spalten und Zeilen mit der Klasse Table fest.
  • Legen Sie die Einstellungen der Tabelle fest (z. B. Rahmen).
  • Füllen Sie die Tabelle, indem Sie Zeilen mit der methode Table.Rows.Add() erstellen.
  • Fügen Sie die Tabelle mithilfe der Methode Document.Pages1.Paragraphs.Add(Table) zur Seite hinzu.
  • Speichern Sie die PDF Datei.

Das folgende Codebeispiel zeigt, wie Sie in C# eine Tabelle in einem PDF Dokument erstellen und hinzufügen.

// Quell-PDF Dokument laden
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// Initialisiert eine neue Instanz der Tabelle
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Stellen Sie die Rahmenfarbe der Tabelle auf LightGray ein
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Legen Sie den Rahmen für Tabellenzellen fest
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Erstellen Sie eine Schleife, um 10 Zeilen hinzuzufügen
for (int row_count = 1; row_count < 10; row_count++)
{
    // Zeile zur Tabelle hinzufügen
    Aspose.Pdf.Row row = table.Rows.Add();
    // Tabellenzellen hinzufügen
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Tabellenobjekt zur ersten Seite des Eingabedokuments hinzufügen
doc.Pages[1].Paragraphs.Add(table);

// Aktualisiertes Dokument mit Tabellenobjekt speichern
doc.Save("document_with_table_out.pdf");

Lesen Sie mehr über Erstellen von Tabellen in PDF.

Erstellen Sie ein PDF-Formular in C#

Formulare in PDFs werden verwendet, um die Daten von den Lesern zu sammeln. Sie können Textfelder, Kontrollkästchen, Optionsfelder und andere unterstützte Steuerelemente in PDF-Formulare einfügen. Das PDF Format unterstützt zwei Arten von Formularen; Acro-Formulare und XFA-Formulare (siehe Details). Im Folgenden sind die Schritte zum Erstellen und Hinzufügen von Formularen in einer PDF Datei aufgeführt.

Das folgende Codebeispiel zeigt, wie dem PDF Dokument mithilfe von C# Formulare hinzugefügt werden.

// Dokument öffnen
Document pdfDocument = new Document("document.pdf");

// Erstellen Sie ein Feld
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = neuer Rand (
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Feld zum Dokument hinzufügen
pdfDocument.Form.Add(textBoxField, 1);

// Geändertes PDF speichern
pdfDocument.Save("output.pdf");

Lesen Sie mehr über Formulare in PDF erstellen.

Fazit

In diesem Beitrag haben Sie gelernt, wie Sie mit C# PDF Dateien von Grund auf neu erstellen. Darüber hinaus haben Sie gelernt, wie Sie verschiedene Arten von Komponenten wie Text, Bilder, Tabellen und Formulare programmatisch in ein PDF Dokument einfügen können. Weitere Informationen zur PDF-API finden Sie in der Dokumentation.

Siehe auch

Info: Aspose bietet eine kostenlose Online-Web-App, mit der Sie PDFs online ansehen, eine andere, mit der Sie PDFs in Videos konvertieren, und eine, mit der Sie PDFs online bearbeiten.