Konvertieren von XAML in PDF in MAUI

Chaknith related to Konvertieren von XAML in PDF in MAUI
Chaknith Bin
11. September 2023
Aktualisiert 10. Dezember 2024
Teilen Sie:
This article was translated from English: Does it need improvement?
Translated
View the article in English

.NET MAUI (Multi-platform App UI) ist ein plattformübergreifendes Framework zum Erstellen 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 IronPdf.Extensions.Maui-Paket ist die Erweiterung des IronPdf-Hauptpakets. Da es sich um eine Erweiterung handelt, wird das IronPdf-Hauptpaket weiterhin benötigt, um die Inhaltsseite einer MAUI-Anwendung in ein PDF-Dokument umzuwandeln.

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

Mit NuGet installieren

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 mit dem Namen OnCounterClicked in PrintToPdf. Verwenden Sie das nachstehende Codebeispiel.

    Um Ihre MAUI-Seite in ein PDF zu verwandeln, verwenden Sie die RenderContentPageToPdf-Methode. Die Methode kann zugegriffen werden, indem die ChromePdfRenderer-Klasse instanziiert wird. Diese Methode gibt Ihnen ein PdfDocument-Objekt, das Sie mit der SaveAs-Methode speichern oder mit einem PDF-Viewer unter Anzeigen von PDFs in MAUI ansehen können.

    Bitte beachten Sie
    Die Methode RenderContentPageToPdf unterstützt derzeit 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
$vbLabelText   $csharpLabel

Weiterhin, wie Sie vielleicht bemerkt haben, ermöglicht das Rendering von XAML Ihnen auch den vollen Zugriff auf alle verfügbaren Funktionen in RenderingOptions. Dies umfasst das Hinzufügen von Text- und HTML-Kopf- und Fußzeilen. Sie können auch Bilder stempeln, Seitennummern hinzufügen und 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

In der Datei MainPage.xaml ersetzen Sie die standardmäßige OnCounterClicked-Funktion durch die neue PrintToPdf-Funktion. Durch Klicken auf diese Schaltfläche wird die PrintToPdf-Methode ausgeführt und das PDF 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" />
$vbLabelText   $csharpLabel

Ausgabe PDF

Bevor Sie Ihre PDF-Datei speichern, können Sie mit den in PdfDocument verfügbaren Methoden weitere Änderungen daran vornehmen. Sie können Seiten zusammenführen, sie aufteilen oder drehen. Sie können auch Anmerkungen und Lesezeichen zu Ihrem PDF hinzufügen.

.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.

Laden Sie das vollständige MAUI-Beispielprojekt herunter

Chaknith related to .NET MAUI App Projekt herunterladen
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.