ASPX-Seiten zu 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 zeigt Ihnen Schritt für Schritt, wie Sie ASPX in PDF konvertieren: Speichern Sie eine 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 Ingenieurteam, ASPX automatisch mit .NET-Code in PDF zu konvertieren! Wir müssen nie STRG P drücken! Es gibt eine serverbasierte Methode, um 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.


Übersicht

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 häufiges Merkmal von ASP.NET (ASPX)-Websites ist die Generierung dynamischer PDF-Dateien wie Rechnungen, Tickets oder Managementberichte, 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 zu PDF konvertieren) beim Rendern von Webseiten mit IronPDF und seiner AspxToPdf-Werkzeugklasse.


Schritt 1

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer

1. Installieren Sie den kostenlosen ASPX-Dateikonverter von IronPDF

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 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 von https://ironpdf.com/packages/IronPdf.zip installiert werden.

Denken Sie daran, diese Anweisung an den Anfang jeder cs-Klassendatei hinzuzufügen, die IronPDF verwendet:


  ironPDF verwenden;

Anleitungen Tutorials

2. ASP.NET-Webseiten in PDF konvertieren

Wir beginnen mit einem normalen ASPX-"Webformular", das als HTML gerendert wird. Wir konvertieren die ASPX-Seite später 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 anstelle von HTML in ein PDF zu rendern, müssen wir den C#- (oder VB.NET-) Code öffnen und dies zum Page_Load-Ereignis hinzufügen:

:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-1.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
$vbLabelText   $csharpLabel

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/tutorials/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
$vbLabelText   $csharpLabel

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 vollständig online dokumentiert unter https://ironpdf.com/object-reference/api/IronPdf.AspxToPdf.html

3.1. PDF-Dateiverhalten einstellen

Das "InBrowser"-Dateiverhalten versucht, das PDF 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 bei Anhang führt dazu, 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, "Invoice.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:

https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html

:path=/static-assets/pdf/content-code-examples/tutorials/aspx-to-pdf-3.cs
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
    EnableJavaScript = false,
    //.. many more options available
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {.EnableJavaScript = False}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
$vbLabelText   $csharpLabel

Die verfügbaren PDF-Rendering-Optionen umfassen:

  • ApplyMarginToHeaderAndFooter. Randoption auf HTML-Kopf- und -Fußzeilen anwenden. der Standardwert ist false, so dass HTML-Kopf- und -Fußzeilen einen Rand von 0 haben. Unterstützt nur ChromeRender.
  • CreatePdfFormsFromHtml. Verwandelt ASPX-Formularelemente in editierbare PDF-Formulare.
  • CssMediaType. Ermöglicht Media="screen" oder "print" für CSS Styles und CSS3 StyleSheets.
  • CustomCssUrl. Ermöglicht die Anwendung eines benutzerdefinierten CSS-Stylesheets auf HTML per URL.
  • JavaScriptAktivieren. Ermöglicht JavaScript, jQuery und sogar Json-Code innerhalb der ASPX-Seite. Möglicherweise muss ein RenderDelay angewendet werden.
  • ErsteSeitennummer. Erste Seitenzahl für Header und Footer. Der Standardwert ist 1.
  • FitToPaperWidth. Wenn möglich, wird der PDF-Inhalt auf die Breite einer Seite virtuellen Papiers verkleinert.
  • GenerateUniqueDocumentIdentifiers. Setzen Sie diesen Wert auf false, wenn Sie die Gleichheit von Binärdateien zum Vergleich von PDFs, z. B. für Unit Tests, verwenden möchten.
  • Graustufen. Gibt ein Graustufen-PDF in Grautönen statt in Vollfarbe aus.
  • HtmlHeader. Legt den Inhalt der Kopfzeile für jede PDF-Seite mit Hilfe von Inhaltsstrings oder sogar HTML fest.
  • 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.
  • HtmlFooter. Legt den Fußzeileninhalt für jede PDF-Seite mit Hilfe von Inhaltsstrings oder sogar HTML fest.
  • Textfußzeile. Legt den Inhalt der Kopfzeile für jede PDF-Seite als Text fest. Unterstützt 'mail-merge' und wandelt Urls automatisch in Hyperlinks um.
  • EingabeKodierung. Die Eingabezeichencodierung als Zeichenkette. UTF-8 ist der Standard für ASP.NET.
  • 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.
  • Papierausrichtung. Die PDF-Papierausrichtung. Landschaft oder Porträt.
  • PaperSize. Legen Sie ein Ausgabepapierformat für PDF-Seiten mit System.Drawing.Printing.PaperKind. Alternativ können Entwickler die Methode SetCustomPaperSize(int width, int height) verwenden, um benutzerdefinierte Größen zu erstellen.
  • PrintHtmlBackgrounds. Druckt HTML-Bildhintergründe.
  • RenderDelay. Millisekunden, die nach dem Rendern von HTML vor dem Drucken gewartet werden sollen, damit Javacsript oder JSON Zeit zum Arbeiten haben.
  • Timeout. Render-Timeout in Sekunden.
  • Titel. PDF-Dokument 'Titel' Metadaten.
  • ViewPortHeight. Definiert eine virtuelle Bildschirmhöhe, die zum Rendern von HTML in PDF in IronPDF verwendet wird. Gemessen in Pixel.
  • ViewPortWidth. Definiert eine virtuelle Bildschirmbreite, die zum Rendern von HTML in PDF in IronPDF verwendet wird. Gemessen in Pixel.
  • Zoom. Eine %-Skalierungsstufe, die es dem Entwickler ermöglicht, den HTML-Inhalt zu vergrößern oder zu verkleinern.

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

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

Der einfachste Weg, dies zu tun, ist mit der SimpleHeaderFooter-Klasse, die ein einfaches Layout unterstützt, das problemlos dynamische Daten wie die aktuelle Uhrzeit und die Seitennummerierung hinzufügen kann.

:path=/static-assets/pdf/content-code-examples/tutorials/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
$vbLabelText   $csharpLabel

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/tutorials/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
$vbLabelText   $csharpLabel

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":

  • {page} für die aktuelle Seitennummer des PDFs

  • {total-pages} als die Gesamtanzahl der Seiten innerhalb der PDF

  • {date} für das heutige Datum in einem Format, das der Systemumgebung des Servers entspricht

  • {time} für die Zeit in Stunden:Minuten im 24-Stunden-Format

  • {html-title} fügt den Titel aus dem Kopf-Tag des ASPX-Webformulars ein

  • {pdf-title} für den Dokumentdateinamen

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/tutorials/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.0 oder .NET Core 2 oder höher entwickelt. In Projekten mit Framework 4.5 oder höher kann ASYNC 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-Datei-zu-PDF-Konverter-Quellcode für dieses Tutorial steht als gezipptes Visual Studio Webanwendungsprojekt zum Download bereit.

Laden Sie dieses Tutorial 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 Sie eine ASPX-Datei als PDF speichern können.

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 vielleicht auch die IronPDF.AspxToPdf-Klassenreferenz von Interesse:

https://ironpdf.com/object-reference/api/IronPdf.AspxToPdf.html


8. ASPX zu PDF Tutorial Video ansehen


Tutorial Schnellzugriff

Brand Visual Studio related to Tutorial Schnellzugriff

Dieses Tutorial als Quellcode herunterladen

The full ASPX File to PDF Converter Source Code for this tutorial is available as a zipped Visual Studio Web Application project. Der kostenlose Download enthält funktionierende Codebeispiele für ein C# ASP.NET Web Forms-Projekt, das eine als PDF gerenderte Webseite mit angewendeten Einstellungen zeigt. 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 fühlen Sie sich frei, uns auf GitHub zu "forken", um weitere Hilfestellung bei der Verwendung von IronPDF zu erhalten. Teilen Sie dies gerne mit jedem, der sich fragt: "Wie konvertiere ich ASPX in PDF?"

C# ASPX zu PDF Website-Projekt Erweiterte ASP.NET-Seite zu PDF-Beispielen in C# zur Erstellung von PDFs ASP.NET PDF-Beispiele in VB.NET zum Erstellen von PDFs
Github Icon related to Tutorial Schnellzugriff
Html To Pdf Icon related to Tutorial Schnellzugriff

C# PDF-Schnellstartanleitung herunterladen

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
Documentation related to Tutorial Schnellzugriff
Software Product Designer @ Team Iron Erfahren Sie, wie Sie mit einer einzigen Codezeile in C# oder VB.NET jede ASP.NET ASPX-Seite in ein PDF- statt in ein HTML-Dokument verwandeln können
Software-Produktdesigner @ Team Iron

Jacob ist ein engagierter Softwareentwickler, der gerne über die Programmiersprachen C# und Python entwickelt und schreibt.

Jacobs Hauptinteresse liegt derzeit in der Entwicklung von Softwaremodulen für groß angelegte Intranet-Entwicklungsprojekte mit C# und ASP.NET MVC.

Er interessiert sich auch für die Zukunft von .NET Core als Grundlage neuer plattformunabhängiger Entwicklungstechnologien, die Desktop-, Server- und Webanwendungen innerhalb eines einzigen, quelloffenen Frameworks ermöglichen, das Entwickler und Benutzer vor VMs stellt.