ASPX-Seiten als PDF in ASP.NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

Dieses ASPX zu PDF-Tutorial führt Sie Schritt für Schritt durch die Konvertierung von ASPX in PDF. Speichern einer ASPX-Seite als PDF in ASP.NET-Webanwendungen.

Nutzer sollten die ASPX-Datei mit der Dateierweiterung .aspx niemals in Google Chrome öffnen müssen. Wir bitten unser Entwicklungsteam, ASPX mit Hilfe von .NET-Code automatisch in PDF zu konvertieren! Wir müssen nie CTRL P drücken! Es gibt eine serverbasierte Möglichkeit, ASPX-Internetmedien zu konvertieren und als PDF zu speichern.

Wenden Sie Einstellungen an, wie z. B. das Festlegen von Dateiverhalten und -namen, das Hinzufügen von Kopf- und Fußzeilen, das Ändern von Druckoptionen, das Hinzufügen von Seitenumbrüchen, das Kombinieren von Async und Multithreading und vieles mehr.

Wie konvertiert man ASPX-Dateien in PDF?

Microsoft Web Form Applications für ASP.NET werden häufig für die Entwicklung von anspruchsvollen Websites, Online-Banking, Intranets und Buchhaltungssystemen verwendet. Ein gemeinsames Merkmal von ASP.NET(ASPX) websites ist es, dynamische PDF-Dateien wie Rechnungen, Tickets oder Managementberichte zu generieren, die die Benutzer im PDF-Format herunterladen können.

Dieses Tutorial zeigt, wie man die IronPDF-Softwarekomponente für .NET verwendet, um jedes ASP.NET-Webformular in ein PDF zu verwandeln(ASP.NET zu PDF). HTML, das normalerweise als Webseite gerendert wird, wird verwendet, um als PDF zum Herunterladen oder zur Anzeige in einem Webbrowser gerendert zu werden. Das beigefügte Quellprojekt zeigt Ihnen, wie Sie eine Webseite in ASP.NET mit C# in PDF konvertieren können.

Wir erreichen diese HTML-zu-PDF-Konvertierung(aSPX in PDF konvertieren) beim Rendern von Webseiten mit IronPDF und dessenAspxToPdf werkzeuge Klasse.

1. Installieren Sie den kostenlosen ASPX-Dateikonverter von IronPDF

C# NuGet-Bibliothek für PDF

Installieren mit NuGet

Install-Package IronPdf
oder
Java PDF JAR

Herunterladen DLL

DLL herunterladen

Manuelle Installation in Ihr Projekt

C# NuGet-Bibliothek für PDF

Installieren mit NuGet

Install-Package IronPdf
oder
Java PDF JAR

Herunterladen DLL

DLL herunterladen

Manuelle Installation in Ihr Projekt

Fangen Sie noch heute an, IronPDF in Ihrem Projekt mit einer kostenlosen Testversion zu verwenden.

Erster Schritt:
green arrow pointer

Schau dir an IronPDF an Nuget Für schnelle Installation und Bereitstellung. Mit über 8 Millionen Downloads verwandelt es PDF mit C#.

C# NuGet-Bibliothek für PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Erwägen Sie die Installation der IronPDF DLL direkt. Laden Sie es herunter und installieren Sie es manuell für Ihr Projekt oder die GAC-Form: IronPdf.zip

Manuelle Installation in Ihr Projekt

DLL herunterladen

Installation über NuGet

Klicken Sie in Visual Studio mit der rechten Maustaste auf den Projektmappen-Explorer und wählen Sie "NuGet-Pakete verwalten...". Suchen Sie dort einfach nach IronPDF und installieren Sie die neueste Version... klicken Sie in allen Dialogfeldern, die angezeigt werden, auf OK.

Dies funktioniert in jedem C# .NET-Framework-Projekt ab Framework 4.6.2 und höher oder .NET Core 2 und höher. Es funktioniert auch genauso gut in VB.NET-Projekten.

Install-Package IronPdf

https://www.nuget.org/packages/IronPdf

Installation über DLL

Alternativ kann die IronPDF DLL heruntergeladen und manuell in das Projekt oder GAC installiert werden von https://ironpdf.com/packages/IronPdf.zip

Denken Sie daran, diese Anweisung am Anfang jeder cs-Klassendatei hinzuzufügen, die IronPDF verwendet: ``` ironPDF verwenden;


## 2. ASP.NET-Webseiten in PDF konvertieren

Wir beginnen mit einem normalen ASPX-"Webformular", das als HTML gerendert wird. Später **konvertieren wir die ASPX-Seite in das PDF**-Dateiformat.

In dem beigefügten Beispiel-Quellcode haben wir eine Geschäftsrechnung "Invoice.aspx" gerendert, eine einfache HTML-Geschäftsrechnung, die als ASP.NET-Seite gerendert wurde.

Die HTML-Seite enthält CSS3-Stylesheets und kann auch Bilder und Javascript enthalten.

Um diese ASP.NET-Webseite in ein PDF- statt in ein HTML-Format umzuwandeln, müssen wir die C#(oder VB.NET) code und fügen Sie diesen dem Ereignis ***Page_Load*** hinzu:

```cs
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-1.cs

Das ist alles, was erforderlich ist; wird der HTML-Code nun als PDF-Datei dargestellt. Hyperlinks, StyleSheets, Bilder und sogar HTML-Formulare bleiben erhalten. Dies entspricht in etwa der Ausgabe, wenn der Benutzer den HTML-Code in seinem Browser selbst in ein PDF-Dokument umwandelt. IronPDF basiert auf der Chromium-Webbrowser-Technologie, die auch Google Chrome verwendet.

Der gesamte C#-Code liest sich im Ganzen wie folgt: Konvertieren Sie die ASPX-Seite als PDF in Active Server Pages.

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-2.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports IronPdf

Namespace AspxToPdfTutorial
	Partial Public Class Invoice
		Inherits System.Web.UI.Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
		End Sub
	End Class
End Namespace
VB   C#

3. ASPX-Datei in PDF-Konverter-Einstellungen übernehmen

Bei der Konvertierung einer ASPX-Datei in PDF, die mit .NET Web Forms generiert wurde, gibt es viele Optionen zur Optimierung und Perfektionierung.

Diese Optionen sind im Internet ausführlich dokumentiert unterAPI-Referenzseite.

3.1. PDF-Dateiverhalten einstellen

"Mit dem Dateiverhalten InBrowser" wird versucht, die PDF-Datei direkt im Browser des Benutzers anzuzeigen. Dies ist nicht immer in jedem Webbrowser möglich, aber in der Regel eine gängige Funktion moderner, standardkonformer Browser. ``` IronPDF.AspxToPdf.RenderThisPageAsPdf(IronPDF.AspxToPdf.FileBehavior.InBrowser);


das Dateiverhalten "**Anhang**" bewirkt, dass die PDF-Datei heruntergeladen wird.
``` IronPDF.AspxToPdf.RenderThisPageAsPdf(IronPDF.AspxToPdf.FileBehavior.Attachment);

3.2. PDF-Dateiname festlegen

Wir können auch den Dateinamen des PDF-Dokuments festlegen, indem wir einen zusätzlichen Parameter hinzufügen. Das bedeutet, dass wir den Namen der Datei kontrollieren können, wenn der Nutzer entscheidet, ob er sie herunterladen oder behalten will. Wenn wir die ASPX-Seite als PDF speichern, wird dieser Name dem PDF-Dokument gegeben. ``` IronPDF.AspxToPdf.RenderThisPageAsPdf(IronPDF.AspxToPdf.FileBehavior.Attachment, "Rechnung.pdf");


### 3.3. PDF-Druckoptionen ändern

Wir können die Ausgabe der PDF-Datei steuern, indem wir eine Instanz der IronPDF.ChromePdfRenderer-Klasse hinzufügen. [ChromePdfRenderer API-Referenz](https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html)

```cs
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-3.cs

Die verfügbaren PDF-Rendering-Optionen umfassen:

  • CreatePdfFormsFromHtml Verwandelt ASPX-Formularelemente in editierbare PDF-Formulare.
  • CssMediaType Screen oder Print CSS-Stile und StyleSheets. Siehe unserausführliche Anleitung mit Vergleichsbildern.
  • CustomCssUrl Ermöglicht die Anwendung eines benutzerdefinierten CSS-Stylesheets auf HTML vor dem Rendering. Kann ein lokaler Dateipfad oder eine entfernte URL sein.
  • EnableMathematicalLaTex Aktiviert oder deaktiviert die Darstellung von mathematischen LaTeX-Elementen.
  • EnableJavaScript Ermöglicht die Ausführung von JavaScript und JSON, bevor die Seite gerendert wird. Ideal für den Druck aus Ajax-/Angular-Anwendungen. Siehe auchWarteFot.
  • Javascript Gibt eine benutzerdefinierte JavaScript-Zeichenkette an, die nach dem Laden aller HTML-Dateien, aber vor dem PDF-Rendering ausgeführt wird.
  • JavascriptMessageListener Ein Methoden-Callback, der immer dann aufgerufen wird, wenn eine JavaScript-Konsolenmeldung des Browsers verfügbar wird.
  • FirstPageNumber Erste Seitenzahl für Header und Footer. Der Standardwert ist 1.
  • TableOfContents Erzeugt ein Inhaltsverzeichnis an der Stelle im HTML-Dokument, an der ein Element mit der id "ironpdf-toc" gefunden wird.
  • TextHeader Legt den Inhalt der Fußzeile für jede PDF-Seite als Text fest. Unterstützt 'mail-merge' und wandelt Urls automatisch in Hyperlinks um.
  • TextFooter Legt den Inhalt der Kopfzeile für jede PDF-Seite als Text fest. Unterstützt 'mail-merge' und wandelt Urls automatisch in Hyperlinks um.
  • HtmlHeader Legt den Inhalt der Kopfzeile für jede PDF-Seite mit Hilfe von Content-Strings oder sogar HTML fest.
  • HtmlFooter Legt den Fußzeileninhalt für jede PDF-Seite mit Hilfe von Inhaltsstrings oder sogar HTML fest.
  • MarginBottom Unterer PDF-Papierrand in Millimetern. Für eine randlose PDF-Datei auf Null setzen.
  • MarginLeft Linker PDF-Papierrand in Millimetern. Für eine randlose PDF-Datei auf Null setzen.
  • MarginRight Rechter PDF-Papierrand in Millimetern. Für eine randlose PDF-Datei auf Null setzen.
  • MarginTop Oberer PDF-Papierrand in Millimetern. Für eine randlose PDF-Datei auf Null setzen.
  • UseMarginsOnHeaderAndFooter Gibt an, ob beim Rendern von Kopf- und Fußzeilen Randwerte aus dem Hauptdokument verwendet werden sollen.
  • PaperFit: Ein Manager zum Einrichten virtueller Papierlayouts, der steuert, wie der Inhalt auf PDF-"Papier"-Seiten angeordnet wird. Enthält Optionen für das Standardverhalten von Chrome, gezoomt, Responsive CSS3 Layouts, Scale-To-Page & Continuous Feed Stil PDF Seite Setups.
  • PaperOrientation Die PDF-Papierausrichtung. Landschaft oder Porträt.
  • PageRotation Seitendrehung aus bestehendem Dokument. Vollständige Erklärung und begleitendes Code-Beispiel.
  • PaperSize Legt ein Ausgabepapierformat für PDF-Seiten mit System.Drawing.Printing.PaperKind.
  • SetCustomPaperSizeeinCentimeters Legt die Papiergröße in Zentimetern fest.
  • SetCustomPaperSizeInInches Legt das Papierformat in Zoll fest.
  • SetCustomPaperSizeinMilimeters Legt die Papiergröße in Millimetern fest.
  • SetCustomPaperSizeinPixelsOrPoints Legt die Papiergröße in Bildschirm-Pixeln oder Druckerpunkten fest.
  • ForcePaperSize Gibt an, ob die Seitengröße exakt der über PaperSize angegebenen Größe entsprechen soll, indem die Größe der Seite nach der Generierung einer PDF-Datei aus HTML angepasst wird.
  • PrintHtmlBackgrounds Druckt HTML-Bilderhintergründe.
  • GrayScale Gibt ein Graustufen-PDF in Grautönen anstelle von Vollfarbe aus.
  • WaitFor Ein Wrapper-Objekt, das die Konfiguration für den Wait-for-Mechanismus enthält. Dies kann nützlich sein, wenn es um das Rendern von JavaScript, Ajax oder Animationen geht.
    • PageLoad: Standard-Rendering ohne Warten.
    • RenderDelay: Einstellung einer beliebigen Wartezeit.
    • Schriften: Wartet, bis alle Schriftarten geladen sind.
    • JavaScript: Auslösen des Renderings mit einer JavaScript-Funktion.
    • HTML-Elemente: Wartet auf bestimmte HTML-Elemente, wie Element-IDs, Namen, Tag-Namen und Abfrage-Selektoren, um Elemente anzuvisieren.
    • NetworkIdle: Warten auf Netzwerk im Leerlauf(0, 2 oder ein benutzerdefinierter Wert).
  • Titel PDF-Dokument 'Titel' Metadaten.
  • InputEncoding Die Eingabezeichencodierung als Zeichenkette. UTF-8 ist Standard für ASP.NET.
  • RequestContext Gibt den Anfragekontext für das Rendering an.
  • Timeout. Render-Timeout in Sekunden.

4. Kopf- und Fußzeilen zu ASPX-PDFs hinzufügen

Mit IronPDF können der PDF-Ausgabe Kopf- und Fußzeilen hinzugefügt werden.

Am einfachsten geht das mit der Klasse TextHeaderFooter, die ein Grundlayout unterstützt, dem man leicht dynamische Daten wie die aktuelle Uhrzeit und Seitennummerierung hinzufügen kann.

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-4.cs
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
            {
                TextHeader = new IronPdf.TextHeaderFooter()
                {
                    CenterText = "Invoice",
                    DrawDividerLine = false,
                    Font = FontTypes.Arial,
                    FontSize = 12
                },
                TextFooter = new IronPdf.TextHeaderFooter()
                {
                    LeftText = "{date} - {time}",
                    RightText = "Page {page} of {total-pages}",
                    Font = IronSoftware.Drawing.FontTypes.Arial,
                    FontSize = 12,
                },
            };
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
        }
    }
}
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace AspxToPdfTutorial
	Partial Public Class Invoice
		Inherits System.Web.UI.Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
				.TextHeader = New IronPdf.TextHeaderFooter() With {
					.CenterText = "Invoice",
					.DrawDividerLine = False,
					.Font = FontTypes.Arial,
					.FontSize = 12
				},
				.TextFooter = New IronPdf.TextHeaderFooter() With {
					.LeftText = "{date} - {time}",
					.RightText = "Page {page} of {total-pages}",
					.Font = IronSoftware.Drawing.FontTypes.Arial,
					.FontSize = 12
				}
			}
			IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
		End Sub
	End Class
End Namespace
VB   C#

Alternativ können wir HTML-Kopf- und -Fußzeilen mit der Klasse HtmlHeaderFooter erzeugen, die auch CSS, Bilder und Hyperlinks unterstützt.

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-5.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
            {
                MarginTop = 50, // make sufficiant space for an HTML header
                HtmlHeader = new IronPdf.HtmlHeaderFooter()
                {
                    HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
                }
            };
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace AspxToPdfTutorial
	Partial Public Class Invoice
		Inherits System.Web.UI.Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
				.MarginTop = 50,
				.HtmlHeader = New IronPdf.HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
			}
			IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions)
		End Sub
	End Class
End Namespace
VB   C#

Wie in unseren Beispielen zu sehen ist, können wir mit Hilfe von Platzhaltern dynamischen Text oder HTML in Kopf- und Fußzeilen "einfügen":

  • {seite}: für die aktuelle Seitenzahl der PDF-Datei.
  • {gesamt-Seiten}: die Gesamtzahl der Seiten in der PDF-Datei.
  • {url}: Web-URL, von der aus das PDF-Dokument gerendert wurde.
  • {datum}: für das heutige Datum in einem Format, das der Systemumgebung des Servers entspricht.
  • {zeit}: für die Zeit in Stunden:Sekunden unter Verwendung einer 24-Stunden-Uhr.
  • {html-title}: fügt den Titel aus dem Head-Tag des ASPX-Webformulars ein.
  • {pdf-Titel}: für den Dateinamen des Dokuments.

5. ASPX-Datei auf PDF anwenden Tricks: Seitenumbrüche

Während HTML in der Regel zu einer langen Seite "fließt", simulieren PDFs digitales Papier und sind in einheitliche Seiten unterteilt. Wenn Sie den folgenden Code zu Ihrer ASPX-Seite hinzufügen, wird automatisch ein Seitenumbruch in der mit .NET generierten PDF-Datei erzeugt.

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-6.cs
<div style='page-break-after: always;'>&nbsp;</div>
HTML

6. Kombinieren Sie Async und Multithreading für mehr Leistung

IronPDF wurde für .NET-Framework 4.6.2 oder .NET Core 2 oder höher entwickelt. In Framework 4.6.2 oder höheren Projekten,ASYNC kann verwendet werden, um die Leistung bei der Arbeit mit mehreren Dokumenten zu verbessern.

Durch die Kombination von Async mit Multithreading-CPUs und dem Befehl Paralllel.ForEach wird die Massenverarbeitung von PDF-Formaten erheblich verbessert.

7. Herunterladen als ASP.NET-Quellcode

Der vollständige ASPX File to PDF Converter Source Code für dieses Tutorial steht als gezipptes Visual Studio Web Application Projekt zum Download bereit.

Laden Sie dieses Lernprogramm als ASP.NET Visual Studio-Projekt herunter

Der kostenlose Download enthält funktionierende Code-Beispiele für ein C# ASP.NET Web Forms-Projekt, das eine als PDF gerenderte Webseite mit angewandten Einstellungen zeigt. Wir hoffen, dass dieses Tutorial Ihnen geholfen hat, zu lernen, wie man eine ASPX-Datei als PDF speichert.

Vorwärts gehen

Im Allgemeinen ist der beste Weg, eine Programmiertechnik zu erlernen, das Experimentieren innerhalb Ihrer eigenen ASP.NET-Projekte. Dazu gehört auch das Ausprobieren des ASPX to PDF Converter von IronPDF.

Für Entwickler ist möglicherweise auch dieIronPdf.AspxToPdf-Klasse hinweis:

8. ASPX zu PDF Tutorial Video ansehen


Tutorial Schnellzugriff

Dieses Tutorial als Quellcode herunterladen

Der vollständige ASPX File to PDF Converter Source Code für dieses Tutorial ist als gezipptes Visual Studio Web Application Projekt verfügbar. The free download contains working code examples for a C# ASP.NET Web Forms project, showing a web page rendered as a PDF with settings applied.

Herunterladen

Erkunden Sie dieses Tutorial auf GitHub

Der Code für dieses C# ASPX-To-PDF Projekt ist in C# und VB.NET auf GitHub als ASP.NET Website Projekt verfügbar. Bitte machen Sie weiter und forken Sie uns auf Github für weitere Hilfe mit IronPDF. Sie können dies gerne an alle weitergeben, die sich fragen: "Wie kann ich ASPX in PDF konvertieren?

C# ASPX zu PDF Website Projekt Erweiterte ASP.NET Page-to-PDF-Beispiele in C# zur Erstellung von PDFs ASP.NET PDF Beispiele in VB.NET zur Erstellung von PDFs

Herunterladen C# PDF Quickstart guide

Um Ihnen die Entwicklung von PDFs in Ihren .NET-Anwendungen zu erleichtern, haben wir eine Schnellstartanleitung als PDF-Dokument zusammengestellt. Dieses "Cheat-Sheet" bietet schnellen Zugriff auf gängige Funktionen und Beispiele für die Erzeugung und Bearbeitung von PDFs in C# und VB.NET und hilft Ihnen, Zeit zu sparen, wenn Sie IronPDF in Ihrem .NET-Projekt einsetzen.

Herunterladen

Ansicht der API-Referenz

Entdecken Sie die API-Referenz für IronPDF, die Details zu allen Funktionen, Namespaces, Klassen, Methoden, Feldern und Enums von IronPDF enthält.

Ansicht der API-Referenz