Konvertieren von XAML in PDF in MAUI

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

von Chaknith Bin

.NET MAUI(Multiplattform-App UI) ist ein plattformübergreifendes Framework für die Entwicklung nativer Geräteanwendungen. Es basiert auf Xamarin.Forms und ist Teil des einheitlichen .NET 6-Ökosystems. Es ermöglicht .NET-Anwendungsentwicklern die Erstellung von Anwendungen für Desktop-, Web- und mobile Plattformen unter Verwendung gemeinsamer UI-Komponenten und einer einzigen Codebasis. MAUI ermöglicht es Ihnen auch, bei Bedarf plattformspezifischen Code und Ressourcen hinzuzufügen.

IronPDF ermöglicht es Ihnen, PDF-Dokumente aus MAUI-Seiten zu generieren, wodurch die Erstellung von PDF-Dateien/Seiten in diesen Anwendungen möglich wird. IronPDF unterstützt jedoch derzeit keine mobilen Plattformen.

IronPDF-Erweiterungspaket

Das Paket IronPdf.Extensions.Maui ist die Erweiterung des Hauptpakets IronPdf. Da es sich um eine Erweiterung handelt, wird das IronPDF-Hauptpaket weiterhin benötigt, um die Inhaltsseite der MAUI-Anwendung in ein PDF-Dokument umzuwandeln.

PM > Install-Package IronPdf.Extensions.Maui
C# NuGet-Bibliothek für PDF

Installieren mit NuGet

Install-Paket IronPDF.Extensions.Maui

MAUI-Seite in ein PDF-Dokument umwandeln

MainPage.xaml.cs-Datei bearbeiten

  • Wechseln Sie von der Datei MainPage.xaml zu ihrer Codedatei, MainPage.xaml.cs.
  • Ändern Sie die Funktion namens OnCounterClicked in PrintToPdf. Verwenden Sie das nachstehende Codebeispiel.

    Um Ihre MAUI-Seite in eine PDF-Datei umzuwandeln, verwenden Sie die Methode "RenderContentPageToPdf". Auf die Methode kann durch Instanziierung der Klasse ChromePdfRenderer zugegriffen werden. Mit dieser Methode erhalten Sie ein PdfDocument-Objekt, das Sie mit der Methode SaveAs oder einem PDF-Viewer mitAnzeigen von PDFs in MAUI.

    Bitte beachten Sie
    Die RenderContentPageToPdf methode unterstützen noch keine Datenbindung.

:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.cs
using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}
Imports IronPdf.Extensions.Maui

Namespace mauiSample

	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
			Dim renderer As New ChromePdfRenderer()

			' Apply HTML header
			renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}

			' Render PDF from Maui Page
			Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result

			pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
		End Sub
	End Class
End Namespace
VB   C#

Wie Sie vielleicht schon bemerkt haben, haben Sie beim Rendering von XAML auch vollen Zugriff auf alle in RenderingOptions verfügbaren Funktionen. Dazu gehört das Hinzufügen vontext und HTML-Kopf- und -Fußzeilen. Sie können auchstempelbilder, hinzufügenseitenzahlenund können sogar die Größe und das Layout der Seite anpassen. Alle diese Optionen sind verfügbar, wenn Sie diese Methode zur Erstellung einer PDF-Datei verwenden.

MainPage.xaml-Datei bearbeiten

Ersetzen Sie in der Datei MainPage.xaml die Standardfunktion OnCounterClicked durch die neue Funktion PrintToPdf. Wenn Sie auf diese Schaltfläche klicken, wird die Methode PrintToPdf ausgeführt und die PDF-Datei erstellt.

<Button
x:Name="PrintToPdfBtn"
Text="Print to pdf"
SemanticProperties.Hint="Click to print page as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />
<Button
x:Name="PrintToPdfBtn"
Text="Print to pdf"
SemanticProperties.Hint="Click to print page as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<Button x:Name="PrintToPdfBtn" Text="Print to pdf" SemanticProperties.Hint="Click to print page as PDF" Clicked="PrintToPdf" HorizontalOptions="Center" />
VB   C#

Ausgabe PDF

Bevor Sie Ihre PDF-Datei speichern, können Sie mit den in PdfDocument verfügbaren Methoden weitere Änderungen daran vornehmen. Sie könnenseiten zusammenführen, auftrennenoder drehen Sie sie. Sie können auch Folgendes hinzufügenanmerkungen undlesezeichen zu Ihrer PDF-Datei.

.NET MAUI App Projekt herunterladen

Sie können den vollständigen Code für diese Anleitung herunterladen. Er wird als gezippte Datei geliefert, die Sie in Visual Studio als .NET MAUI App-Projekt öffnen können.

Klicken Sie hier, um das Projekt herunterzuladen.

Chaknith Bin

Software-Ingenieur

Chaknith ist der Sherlock Holmes der Entwickler. Zum ersten Mal kam ihm der Gedanke, dass er eine Zukunft in der Softwareentwicklung haben könnte, als er zum Spaß an Code Challenges teilnahm. Sein Schwerpunkt liegt auf IronXL und IronBarcode, aber er ist stolz darauf, Kunden mit jedem Produkt zu helfen. Chaknith nutzt sein Wissen aus direkten Gesprächen mit Kunden, um die Produkte selbst weiter zu verbessern. Sein anekdotisches Feedback geht über Jira-Tickets hinaus und unterstützt die Produktentwicklung, die Dokumentation und das Marketing, um das Gesamterlebnis der Kunden zu verbessern.Wenn er nicht im Büro ist, lernt er über maschinelles Lernen, programmiert und wandert.