Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man PDF-Dateien in C# speichert (Einsteiger-Tutorial)

Dieser Artikel wird untersuchen, wie man IronPDF verwendet, um PDF-Dateien aus einer Windows Forms-Anwendung oder einer beliebigen .NET-Anwendung zu speichern.

Die IronPDF-Bibliothek ist eine .NET-Bibliothek, die einfach zu verwendende Klassen und Methoden zum Erzeugen und Bearbeiten von PDF-Dateien in C#-Anwendungen bereitstellt. Sie ermöglicht es Entwicklern, PDF-Dateien mit nur wenigen Codezeilen zu erstellen, zu ändern und zu speichern, was sie zu einer ausgezeichneten Wahl für Windows Forms-Anwendungen macht.

Schritt 1: Erstellen Sie eine neue Windows Forms-Anwendung

Erstellen Sie zuerst ein neues Visual Studio-Projekt. Hier sind die Schritte, um eine neue C# Windows Forms-Anwendung in Visual Studio 2022 zu erstellen

  1. Öffnen Sie Visual Studio 2022 wie unten gezeigt.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 1: Visual Studio 2022 Visual Studio 2022

  1. Klicken Sie auf der Startseite auf "Create a new project" oder gehen Sie zu "File" > "New" > "Project".
  2. Wählen Sie im Dialogfeld "Create a new project" "Windows Forms App" oder "Windows Forms App (.NET Framework)" unter "Create a new project", wie unten gezeigt.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 2: Neue Forms-App Neue Forms-App

  1. Geben Sie einen Namen für Ihr Projekt ein und wählen Sie einen Speicherort.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 3: Projektstandort Projektstandort

  1. Wählen Sie .NET Framework. Wählen Sie .NET 7.0 aus dem Dropdown-Menü.
  2. Klicken Sie auf die Create-Schaltfläche.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 4: Zusatzinformationen Zusatzinformationen

  1. Visual Studio erstellt für Sie ein neues C# Windows Forms-Anwendung Projekt, mit einem Standardformular namens "Form1", das dem Projekt hinzugefügt wird, wie unten gezeigt.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 5: Form1-Projekt Form1-Projekt

Das war's! Jetzt beginnen wir mit dem Erstellen der Windows Forms-Anwendung mit dem Designer, indem wir Steuerelemente und Funktionsfähigkeiten zum Erstellen und Speichern einer PDF-Dokumentdatei hinzufügen.

Schritt 2: Entwerfen Sie das Formular

Sie können das Formular nach Ihren Vorlieben gestalten. In diesem Tutorial wird ein minimalistisches Design erstellt, indem zwei Beschriftungen, ein RichTextBox und zwei Schaltflächen hinzugefügt werden.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 6: Schaltflächen zum Formular hinzufügen Schaltflächen zum Formular hinzufügen

Schritt 3: Installieren Sie IronPDF

Der nächste Schritt besteht darin, IronPDF in diesem Projekt zu installieren, um seine umfangreichen Funktionen zu nutzen.

IronPDF kann mit dem NuGet Package Manager in Visual Studio installiert werden. Sie können zur NuGet Package Manager-Konsole navigieren, indem Sie zu Tools > NuGet Package Manager > Package Manager Console gehen.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

Install-Package IronPdf

Dieser Befehl lädt das IronPDF-Paket in Ihr Projekt herunter und installiert es. Sobald das Paket installiert ist, können wir beginnen, IronPDF zu verwenden.

Code schreiben, um PDF-Dateien zu erstellen und zu speichern

Um mit dem Fluss zu beginnen, schreiben Sie zwei Methoden: Save_Click und getFilePath in der Form1.cs-Klasse. Diese Methoden werden gemeinsam verwendet, um den Inhalt einer Textbox als PDF-Datei zu speichern, indem die ChromePdfRenderer-Klasse-Bibliothek verwendet wird. Gehen wir jede Methode durch, um zu verstehen, wie sie funktioniert.

Save_Click Methode (PDF-Dokument erstellen)

Die folgende Methode ist ein Ereignishandler für ein Schaltflächenklick-Ereignis. Der Zweck dieser Methode besteht darin, den Inhalt einer Textbox als PDF-Datei zu speichern.

private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
Private Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs)
	' Get the file path to save the PDF file.
	Dim filename As String = getFilePath()

	' If the file path is not empty or null, proceed with saving the PDF file.
	If Not String.IsNullOrEmpty(filename) Then
		' Create a new instance of the ChromePdfRenderer class.
		Dim renderer = New ChromePdfRenderer()

		' Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
		Dim pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text)

		' Save the PDF document to the specified file path using the SaveAs method.
		pdfDocument.SaveAs(filename)

		' Show a message box to indicate that the PDF file has been saved successfully.
		MessageBox.Show("PDF has been saved Successfully!")
	End If
End Sub
$vbLabelText   $csharpLabel

Hier ist eine Schritt-für-Schritt-Breakdown dessen, was diese Methode tut:

  1. Die Methode ruft die getFilePath-Methode auf, um den Dateipfad zu erhalten, unter dem die PDF-Datei gespeichert wird.
  2. Wenn der Dateipfad nicht leer oder null ist, fährt die Methode mit dem Speichern der PDF-Datei fort.
  3. Die Methode erstellt eine neue Instanz der ChromePdfRenderer-Klasse. Dies ist eine Bibliothek, die eine Möglichkeit bietet, HTML-Inhalte in PDF-Dokumente mit der Google Chrome-Browser-Engine zu konvertieren.
  4. Die Methode verwendet die RenderHtmlAsPdf-Methode der ChromePdfRenderer-Klasse, um den HTML-Inhalt der Textbox pdfContent in ein PDF-Dokument zu konvertieren. Dieses PDF-Dokument wird der PdfDocument-Variable zugewiesen.
  5. Die Methode speichert das PDF-Dokument mit der SaveAs-Methode der PdfDocument-Klasse unter dem angegebenen Dateipfad.
  6. Schließlich zeigt die Methode ein Nachrichtenfeld an, um anzuzeigen, dass die PDF-Datei erfolgreich gespeichert wurde.

getFilePath Methode (PDF-Dateien speichern)

Diese Methode wird verwendet, um dem Benutzer ein SaveFileDialog anzuzeigen, um einen Dateipfad auszuwählen, unter dem die PDF-Datei gespeichert wird.

public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
Public Function getFilePath() As String
	' Create a new instance of the SaveFileDialog class.
	Dim saveFileDialog1 As New SaveFileDialog()

	' Set the initial directory where the SaveFileDialog will open.
	saveFileDialog1.InitialDirectory = "D:\"

	' Set the title of the SaveFileDialog.
	saveFileDialog1.Title = "Save the PDF Files"

	' Set the SaveFileDialog to check if the specified path exists.
	saveFileDialog1.CheckPathExists = True

	' Set the default extension for the file type.
	saveFileDialog1.DefaultExt = ".pdf"

	' Set the filter to display only PDF files or all files.
	saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

	' Set the filter index to display the PDF filter as the default.
	saveFileDialog1.FilterIndex = 2

	' Set the RestoreDirectory property to true so that the SaveFileDialog
	' restores the current directory before closing.
	saveFileDialog1.RestoreDirectory = True

	' Show the SaveFileDialog and get the result.
	If saveFileDialog1.ShowDialog() = DialogResult.OK Then
		' If the user clicked the OK button in the SaveFileDialog, return the selected file path.
		Return saveFileDialog1.FileName
	End If
	' If the user did not click the OK button, return an empty string.
	Return String.Empty
End Function
$vbLabelText   $csharpLabel

Hier ist eine Schritt-für-Schritt-Breakdown dessen, was diese Methode tut:

  1. Die Methode erstellt eine neue Instanz der SaveFileDialog-Klasse. Diese Klasse ist Teil der Windows Forms-Bibliothek und bietet ein Dialogfeld, das es dem Benutzer ermöglicht, einen Dateipfad auszuwählen, unter dem die PDF-Datei gespeichert wird.
  2. Die Methode legt mehrere Eigenschaften des SaveFileDialog-Objekts fest, um dessen Verhalten anzupassen. Die InitialDirectory-Eigenschaft legt das Verzeichnis fest, in dem das Dialogfeld zuerst geöffnet wird. Die Title-Eigenschaft legt den Titel des Dialogfelds fest. Die CheckPathExists-Eigenschaft gibt an, ob das Dialogfeld prüfen soll, ob der angegebene Pfad existiert. Die DefaultExt-Eigenschaft legt die Standarddateierweiterung für den Dateityp fest. Die Filter-Eigenschaft legt die im Dialogfeld angezeigten Dateitypfilter fest. Die FilterIndex-Eigenschaft legt den anzuzeigenden Standardfilter fest. Schließlich gibt die RestoreDirectory-Eigenschaft an, ob das Dialogfeld das aktuelle Verzeichnis wiederherstellen soll, bevor es geschlossen wird.
  3. Die Methode zeigt das SaveFileDialog, indem sie die ShowDialog-Methode aufruft. Diese Methode zeigt das Dialogfeld an und gibt einen DialogResult-Wert zurück, der angibt, ob der Benutzer die "OK"-Schaltfläche oder die Abbrechen-Schaltfläche geklickt hat.
  4. Wenn der Benutzer die "OK"-Schaltfläche klickt, gibt die Methode den vom Benutzer ausgewählten Dateipfad zurück, indem sie auf die FileName-Eigenschaft des SaveFileDialog zugreift.
  5. Wenn der Benutzer die "Abbrechen"-Schaltfläche klickt oder das Dialogfeld schließt, gibt die Methode einen leeren String zurück.

Lassen Sie uns das Projekt ausführen und die Ausgabe sehen. Führen Sie das Projekt aus und das folgende Formular wird geöffnet.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 7: Windows Forms-Projekt ausführen Windows Forms-Projekt ausführen

Geben Sie Ihren PDF-Inhalt ein und klicken Sie auf die "Speichern"-Schaltfläche, wie unten gezeigt.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 8: Speichern-Dialogfeld Speichern-Dialogfeld

Das folgende PDF wird erstellt.

Wie man eine PDF-Datei in C# speichert (Anfängertutorial), Abbildung 9: Erstellte PDF-Datei Erstellte PDF-Datei

IronPDF bietet einen einfachen Weg, um HTML-Inhalte in PDF-Dokumente zu konvertieren und diese an einem vom Benutzer ausgewählten Dateipfad zu speichern, indem die ChromePdfRenderer-Klasse und das SaveFileDialog-Dialogfeld verwendet werden.

Abschluss

Das Speichern von PDF-Dateien aus einer Windows Forms-Anwendung ist eine häufige Anforderung, und IronPDF bietet eine einfach zu verwendende und flexible Methode, um diese Aufgabe zu erledigen. Dieser Artikel zeigte, wie man IronPDF verwendet, um Dateien in einer C# Windows Forms-Anwendung zu erstellen, Inhalte hinzuzufügen und zu speichern. Mit IronPDF können Entwickler hochwertige PDF-Dateien aus ihren Anwendungen mit nur wenigen Codezeilen erstellen.

IronPDF offers a range of features such as HTML to PDF Conversion Tutorial, PDF Merging Example Code, Splitting PDF Pages Guide, and Extracting Text and Images How-to, and more. IronPDF is free for development and available under a Commercial License with a Free Trial, which allows developers to use it in commercial projects and includes dedicated support and updates.

Darüber hinaus ist IronPDF Teil der Iron Suite, einem Paket von .NET-Softwarekomponenten, das Bibliotheken für enthält:

Der Kauf der kompletten Iron Suite ist eine kostengünstige Lösung, da Sie alle fünf Produkte zum Preis von zwei erhalten.

Häufig gestellte Fragen

Wie kann ich eine PDF-Datei in einer C# Windows Forms-Anwendung speichern?

Sie können eine PDF-Datei in einer C# Windows Forms-Anwendung speichern, indem Sie ein Formular mit Steuerelementen wie Textfelder und Schaltflächen einrichten und die Methode Save_Click implementieren, um den Inhalt mithilfe der ChromePdfRenderer-Klasse als PDF zu rendern und zu speichern.

Welche Schritte sind erforderlich, um eine Windows Forms-Anwendung zum Speichern von PDFs mit C# einzurichten?

Um eine Windows Forms-Anwendung zum Speichern von PDFs einzurichten, erstellen Sie ein neues Projekt in Visual Studio, fügen Sie die erforderlichen Steuerelemente wie Labels und ein Rich-Text-Feld hinzu und installieren Sie IronPDF über den NuGet-Paket-Manager, um dessen PDF-Rendering-Funktionen nutzen zu können.

Wie kann ich HTML-Inhalte in C# in ein PDF konvertieren?

Sie können HTML-Inhalte in C# in ein PDF konvertieren, indem Sie die Methode RenderHtmlAsPdf von IronPDF verwenden, die es ermöglicht, HTML-Strings direkt in PDF-Dokumente zu rendern.

Welche Rolle spielt die Save_Click-Methode im Kontext der PDF-Erstellung?

Die Save_Click-Methode fungiert als Ereignishandler innerhalb der Anwendung, der für das Erfassen des Klickereignisses einer Schaltfläche verantwortlich ist, um den Prozess des Renderns von Textfeldinhalten in eine PDF-Datei mithilfe der Rendering-Klassen von IronPDF zu initiieren.

Wie kann ich Benutzer dazu auffordern, einen Dateipfad zum Speichern einer PDF-Datei in einer C#-Anwendung auszuwählen?

In einer C#-Anwendung können Sie Benutzer auffordern, einen Dateipfad zum Speichern einer PDF-Datei auszuwählen, indem Sie die SaveFileDialog-Klasse verwenden, die es Ihnen ermöglicht, eine Oberfläche für die Dateiauswahl einzurichten und den ausgewählten Pfad zum Speichern der gerenderten PDF zurückzugeben.

Welche erweiterten Funktionen bietet IronPDF zur PDF-Manipulation?

IronPDF bietet erweiterte Funktionen wie HTML-zu-PDF-Konvertierung, das Zusammenführen von PDFs, das Aufteilen von PDF-Seiten und das Extrahieren von Text und Bildern, wodurch eine umfassende Sammlung von Tools zur PDF-Manipulation in .NET-Anwendungen bereitgestellt wird.

Gibt es Kosten für die Verwendung von IronPDF zur PDF-Erstellung in kommerziellen Projekten?

IronPDF ist mit einer Testlizenz für Entwicklungszwecke kostenlos. Für kommerzielle Projekte ist jedoch eine kommerzielle Lizenz erforderlich, die Vorteile wie dedizierten Support und regelmäßige Updates beinhaltet.

Was ist die Iron Suite und wie profitieren Entwickler davon?

Die Iron Suite ist eine Sammlung von .NET-Bibliotheken, einschließlich Tools für Barcode-Erzeugung, Excel-Dokumentenbearbeitung und PDF-Verarbeitung. Sie bietet eine kostengünstige Lösung für Entwickler, die mehrere Funktionalitäten in ihren Anwendungen benötigen.

Ist IronPDF mit .NET 10 kompatibel und welche Vorteile bietet das für das Speichern von PDFs in C#?

Ja – IronPDF unterstützt .NET 10 vollständig, einschließlich Desktop-, Web- und plattformübergreifender Projekttypen. Die Entwicklung mit .NET 10 bietet Verbesserungen wie eine höhere Laufzeitleistung, Zugriff auf moderne C#-Erweiterungen und eine engere Integration mit Plattformfunktionen. Dadurch wird das Erstellen und Speichern von PDFs mit den IronPDF-Methoden RenderHtmlAsPdf und SaveAs effizienter.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen