Zum Fußzeileninhalt springen
IRONPDF NUTZEN

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial

.NET MAUI ist die nächste Generation von .NET, die es Entwicklern ermöglicht, plattformübergreifende Desktop-, Web- und Mobil-Apps, einschließlich Xamarin.Forms, mit einer einzigen Codebasis zu erstellen. Mit .NET MAUI können Sie Ihre App einmal schreiben und auf mehreren Plattformen bereitstellen, einschließlich Windows, macOS, iOS, Android und tvOS, mit demselben Projektnamen. .NET MAUI ermöglicht es Ihnen auch, die neuesten UI-Funktionen auf jeder Plattform zu nutzen, wie z.B. den Dunkelmodus und Touch-Unterstützung auf macOS oder die Sprachsteuerung auf Windows 10.

Dieser Artikel erklärt, wie man IronPDF in der .NET MAUI-App verwendet, um PDF-Dokumente mit vielen Vorteilen zu erstellen.


class="hsg-featured-snippet">

Wie man eine PDF-Datei in .NET MAUI anzeigt

  1. Installieren Sie IronPDF, um PDF-Dateien in .NET MAUI anzuzeigen
  2. Einrichten des Frontend-Designs des MAUI-Projekts
  3. Dateien im lokalen Speicher speichern und PDF anzeigen
  4. Verwenden von Render-Methoden für URL, HTML-String oder Datei
  5. Geben Sie das gerenderte PDF an den benutzerdefinierten Handler in Schritt 3 weiter

IronPDF: C# PDF-Bibliothek

IronPDF ist eine .NET-Bibliothek, die es Ihnen ermöglicht, PDF-Dateien zu erstellen und zu bearbeiten. Es ist perfekt für den Einsatz in .NET MAUI-Anwendungen geeignet, da es eine breite Palette von Funktionen bietet, die an Ihre spezifischen Bedürfnisse angepasst werden können. Mit seiner benutzerfreundlichen API macht es IronPDF einfach, PDF-Funktionalität in Ihr .NET MAUI-Projekt zu integrieren.

Voraussetzungen

Es gibt einige Voraussetzungen, um PDF- und PDF-Viewer in .NET MAUI mit IronPDF zu erstellen:

  1. Die neueste Version von Visual Studio
  2. .NET Framework 6 oder 7
  3. MAUI-Pakete, die in Visual Studio installiert sind
  4. .NET MAUI-Anwendung, die in Visual Studio ausgeführt wird

Schritt 1: Installieren von IronPDF

Eine der besten Methoden, um IronPDF in einem neuen Projekt zu installieren, ist die Verwendung der NuGet-Paket-Manager-Konsole innerhalb von Visual Studio. Es gibt einige Vorteile, diese Methode zur Installation von IronPDF zu verwenden.

  • Es ist einfach zu tun und
  • Sie können sicher sein, dass Sie die neueste Version von IronPDF verwenden.

Schritte zur Installation von IronPDF

Öffnen Sie zuerst die Paket-Manager-Konsole, indem Sie auf Tools > NuGet-Paket-Manager > Paket-Manager-Konsole gehen.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 1: Paket-Manager-Konsole Paket-Manager-Konsole

Geben Sie als nächstes den folgenden Befehl ein:

Install-Package IronPdf

Dies wird das Paket und alle seine Abhängigkeiten wie den assets-Ordner installieren.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 2: IronPDF-Installation IronPDF-Installation

Sie können jetzt beginnen, IronPDF in Ihrem MAUI-Projekt zu verwenden.

Schritt 2: Frontend-Design in .NET MAUI einrichten

Erstellen Sie zunächst ein Layout für die drei Funktionalitäten von IronPDF.

URL zu PDF Layout

Erstellen Sie für das URL zu PDF Layout ein Label mit dem Text "URL zum Konvertieren in PDF eingeben" mit einer .NET MAUI-Label-Steuerung. Wenden Sie anschließend ein horizontal gestapeltes Layout an, um die Entry-Steuerung und den Button horizontal anzuordnen. Setzen Sie dann eine Linie nach den Steuerungen, um den nächsten Abschnitt der Steuerungen zu trennen.

<Label
    Text="Enter URL to Convert PDF"
    SemanticProperties.HeadingLevel="Level1"
    FontSize="18"
    HorizontalOptions="Center" 
/>
<HorizontalStackLayout
    HorizontalOptions="Center">
    <Border Stroke="White"
            StrokeThickness="2"
            StrokeShape="RoundRectangle 5,5,5,5"
            HorizontalOptions="Center">
        <Entry
            x:Name="URL"
            HeightRequest="50"
            WidthRequest="300" 
            HorizontalOptions="Center"
        />
    </Border>

    <Button
        x:Name="urlPDF"
        Text="Convert URL to PDF"
        Margin="30,0,0,0"
        Clicked="UrlToPdf"
        HorizontalOptions="Center" />
</HorizontalStackLayout>

<Line Stroke="White" X2="1500" />
<Label
    Text="Enter URL to Convert PDF"
    SemanticProperties.HeadingLevel="Level1"
    FontSize="18"
    HorizontalOptions="Center" 
/>
<HorizontalStackLayout
    HorizontalOptions="Center">
    <Border Stroke="White"
            StrokeThickness="2"
            StrokeShape="RoundRectangle 5,5,5,5"
            HorizontalOptions="Center">
        <Entry
            x:Name="URL"
            HeightRequest="50"
            WidthRequest="300" 
            HorizontalOptions="Center"
        />
    </Border>

    <Button
        x:Name="urlPDF"
        Text="Convert URL to PDF"
        Margin="30,0,0,0"
        Clicked="UrlToPdf"
        HorizontalOptions="Center" />
</HorizontalStackLayout>

<Line Stroke="White" X2="1500" />
XML

HTML zu PDF Layout

Erstellen Sie für das Layout des HTML-zu-PDF-Abschnitts eine Editor-Steuerung und einen Button. Die Editor-Steuerung wird verwendet, um einen HTML-Inhalt von Benutzern zu empfangen. Fügen Sie außerdem eine Linie als Trennlinie hinzu.

<Label
    Text="Enter HTML to Convert to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />
<Border 
    Stroke="White"
    StrokeThickness="2"
    StrokeShape="RoundRectangle 5,5,5,5"
    HorizontalOptions="Center">

    <Editor
        x:Name="HTML"
        HeightRequest="200"
        WidthRequest="300" 
        HorizontalOptions="Center"
    />

</Border>

<Button
    x:Name="htmlPDF"
    Text="Convert HTML to PDF"
    Clicked="HtmlToPdf"
    HorizontalOptions="Center" />

<Line Stroke="White" X2="1500" />
<Label
    Text="Enter HTML to Convert to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />
<Border 
    Stroke="White"
    StrokeThickness="2"
    StrokeShape="RoundRectangle 5,5,5,5"
    HorizontalOptions="Center">

    <Editor
        x:Name="HTML"
        HeightRequest="200"
        WidthRequest="300" 
        HorizontalOptions="Center"
    />

</Border>

<Button
    x:Name="htmlPDF"
    Text="Convert HTML to PDF"
    Clicked="HtmlToPdf"
    HorizontalOptions="Center" />

<Line Stroke="White" X2="1500" />
XML

HTML-Datei zu PDF Layout

Für die HTML-Dateien zu PDF fügen Sie nur einen Button hinzu. Dieser Button hilft, eine HTML-Datei in ein PDF-Dokument mit IronPDF zu konvertieren.

<Label
    Text="Convert HTML file to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />

<Button
    x:Name="htmlFilePDF"
    Text="Convert HTML file to PDF"
    Clicked="FileToPdf"
    HorizontalOptions="Center" />
<Label
    Text="Convert HTML file to PDF"
    SemanticProperties.HeadingLevel="Level2"
    FontSize="18"
    HorizontalOptions="Center" />

<Button
    x:Name="htmlFilePDF"
    Text="Convert HTML file to PDF"
    Clicked="FileToPdf"
    HorizontalOptions="Center" />
XML

Der vollständige UI-Code

Der vollständige Quellcode für das .NET MAUI-Frontend ist unten angegeben.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="PDF_Viewer.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Label
                Text="Enter URL to Convert PDF"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="18"
                HorizontalOptions="Center" 
            />
            <HorizontalStackLayout
                HorizontalOptions="Center">
                <Border Stroke="White"
                        StrokeThickness="2"
                        StrokeShape="RoundRectangle 5,5,5,5"
                        HorizontalOptions="Center">
                    <Entry
                        x:Name="URL"
                        HeightRequest="50"
                        WidthRequest="300" 
                        HorizontalOptions="Center"
                    />
                </Border>

                <Button
                    x:Name="urlPDF"
                    Text="Convert URL to PDF"
                    Margin="30,0,0,0"
                    Clicked="UrlToPdf"
                    HorizontalOptions="Center" />
            </HorizontalStackLayout>

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Enter HTML to Convert to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />
            <Border 
                Stroke="White"
                StrokeThickness="2"
                StrokeShape="RoundRectangle 5,5,5,5"
                HorizontalOptions="Center">

                <Editor
                    x:Name="HTML"
                    HeightRequest="200"
                    WidthRequest="300" 
                    HorizontalOptions="Center"
                />

            </Border>

            <Button
                x:Name="htmlPDF"
                Text="Convert HTML to PDF"
                Clicked="HtmlToPdf"
                HorizontalOptions="Center" />

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Convert HTML file to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="htmlFilePDF"
                Text="Convert HTML file to PDF"
                Clicked="FileToPdf"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="PDF_Viewer.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">
            <Label
                Text="Enter URL to Convert PDF"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="18"
                HorizontalOptions="Center" 
            />
            <HorizontalStackLayout
                HorizontalOptions="Center">
                <Border Stroke="White"
                        StrokeThickness="2"
                        StrokeShape="RoundRectangle 5,5,5,5"
                        HorizontalOptions="Center">
                    <Entry
                        x:Name="URL"
                        HeightRequest="50"
                        WidthRequest="300" 
                        HorizontalOptions="Center"
                    />
                </Border>

                <Button
                    x:Name="urlPDF"
                    Text="Convert URL to PDF"
                    Margin="30,0,0,0"
                    Clicked="UrlToPdf"
                    HorizontalOptions="Center" />
            </HorizontalStackLayout>

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Enter HTML to Convert to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />
            <Border 
                Stroke="White"
                StrokeThickness="2"
                StrokeShape="RoundRectangle 5,5,5,5"
                HorizontalOptions="Center">

                <Editor
                    x:Name="HTML"
                    HeightRequest="200"
                    WidthRequest="300" 
                    HorizontalOptions="Center"
                />

            </Border>

            <Button
                x:Name="htmlPDF"
                Text="Convert HTML to PDF"
                Clicked="HtmlToPdf"
                HorizontalOptions="Center" />

            <Line Stroke="White" X2="1500" />

            <Label
                Text="Convert HTML file to PDF"
                SemanticProperties.HeadingLevel="Level2"
                FontSize="18"
                HorizontalOptions="Center" />

            <Button
                x:Name="htmlFilePDF"
                Text="Convert HTML file to PDF"
                Clicked="FileToPdf"
                HorizontalOptions="Center" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

Schritt 3: Code zum Speichern und Anzeigen von PDF-Dateien

.NET MAUI hat keine vorgefertigte Funktion zum Speichern von Dateien im lokalen Speicher. Es ist also notwendig, den Code selbst zu schreiben. Um die Speicher- und Anzeigefunktionalität zu erstellen, wird eine partielle Klasse namens SaveService mit einer partiellen Leerstelle-Funktion namens SaveAndView mit drei Parametern erstellt: Dateiname, Dateityp und Speicherstrom zum Schreiben der Datei.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public partial void SaveAndView(string filename, string contentType, MemoryStream stream);
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public partial void SaveAndView(string filename, string contentType, MemoryStream stream);
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks

Namespace PDF_Viewer
	Partial Public Class SaveService
		Public Partial Private Sub SaveAndView(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Die Speicher- und Anzeigefunktionalität muss für jede Plattform implementiert werden, die unterstützt werden soll (z.B. für Android, macOS und/oder Windows). Für die Windows-Plattform erstellen Sie eine Datei namens "SaveWindows.cs" und implementieren die partielle Methode SaveAndView:

using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(filename);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".pdf";
                savePicker.SuggestedFileName = filename;
                //Saves the file as PDF file.
                savePicker.FileTypeChoices.Add("PDF", new List<string>() { ".pdf" });

                WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
                stFile = await savePicker.PickSaveFileAsync();
            }
            else
            {
                StorageFolder local = ApplicationData.Current.LocalFolder;
                stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
            }
            if (stFile != null)
            {
                using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    //Writes compressed data from memory to file.
                    using Stream outstream = zipStream.AsStreamForWrite();
                    outstream.SetLength(0);
                    //Saves the stream as file.
                    byte [] buffer = stream.ToArray();
                    outstream.Write(buffer, 0, buffer.Length);
                    outstream.Flush();
                }
                //Create message dialog box.
                MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
                UICommand yesCmd = new("Yes");
                msgDialog.Commands.Add(yesCmd);
                UICommand noCmd = new("No");
                msgDialog.Commands.Add(noCmd);

                WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}
using Windows.Storage;
using Windows.Storage.Pickers;
using Windows.Storage.Streams;
using Windows.UI.Popups;

namespace PDF_Viewer
{
    public partial class SaveService
    {
        public async partial void SaveAndView(string filename, string contentType, MemoryStream stream)
        {
            StorageFile stFile;
            string extension = Path.GetExtension(filename);
            //Gets process windows handle to open the dialog in application process.
            IntPtr windowHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
            if (!Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                //Creates file save picker to save a file.
                FileSavePicker savePicker = new FileSavePicker();
                savePicker.DefaultFileExtension = ".pdf";
                savePicker.SuggestedFileName = filename;
                //Saves the file as PDF file.
                savePicker.FileTypeChoices.Add("PDF", new List<string>() { ".pdf" });

                WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle);
                stFile = await savePicker.PickSaveFileAsync();
            }
            else
            {
                StorageFolder local = ApplicationData.Current.LocalFolder;
                stFile = await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
            }
            if (stFile != null)
            {
                using (IRandomAccessStream zipStream = await stFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    //Writes compressed data from memory to file.
                    using Stream outstream = zipStream.AsStreamForWrite();
                    outstream.SetLength(0);
                    //Saves the stream as file.
                    byte [] buffer = stream.ToArray();
                    outstream.Write(buffer, 0, buffer.Length);
                    outstream.Flush();
                }
                //Create message dialog box.
                MessageDialog msgDialog = new("Do you want to view the document?", "File has been created successfully");
                UICommand yesCmd = new("Yes");
                msgDialog.Commands.Add(yesCmd);
                UICommand noCmd = new("No");
                msgDialog.Commands.Add(noCmd);

                WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle);

                //Showing a dialog box.
                IUICommand cmd = await msgDialog.ShowAsync();
                if (cmd.Label == yesCmd.Label)
                {
                    //Launch the saved file.
                    await Windows.System.Launcher.LaunchFileAsync(stFile);
                }
            }
        }
    }
}
Imports Windows.Storage
Imports Windows.Storage.Pickers
Imports Windows.Storage.Streams
Imports Windows.UI.Popups

Namespace PDF_Viewer
	Partial Public Class SaveService
		Public Async Sub SaveAndView(ByVal filename As String, ByVal contentType As String, ByVal stream As MemoryStream)
			Dim stFile As StorageFile
			Dim extension As String = Path.GetExtension(filename)
			'Gets process windows handle to open the dialog in application process.
			Dim windowHandle As IntPtr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
			If Not Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons") Then
				'Creates file save picker to save a file.
				Dim savePicker As New FileSavePicker()
				savePicker.DefaultFileExtension = ".pdf"
				savePicker.SuggestedFileName = filename
				'Saves the file as PDF file.
				savePicker.FileTypeChoices.Add("PDF", New List(Of String)() From {".pdf"})

				WinRT.Interop.InitializeWithWindow.Initialize(savePicker, windowHandle)
				stFile = Await savePicker.PickSaveFileAsync()
			Else
				Dim local As StorageFolder = ApplicationData.Current.LocalFolder
				stFile = Await local.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting)
			End If
			If stFile IsNot Nothing Then
				Using zipStream As IRandomAccessStream = Await stFile.OpenAsync(FileAccessMode.ReadWrite)
					'Writes compressed data from memory to file.
					Using outstream As Stream = zipStream.AsStreamForWrite()
						outstream.SetLength(0)
						'Saves the stream as file.
						Dim buffer() As Byte = stream.ToArray()
						outstream.Write(buffer, 0, buffer.Length)
						outstream.Flush()
					End Using
				End Using
				'Create message dialog box.
				Dim msgDialog As New MessageDialog("Do you want to view the document?", "File has been created successfully")
				Dim yesCmd As New UICommand("Yes")
				msgDialog.Commands.Add(yesCmd)
				Dim noCmd As New UICommand("No")
				msgDialog.Commands.Add(noCmd)

				WinRT.Interop.InitializeWithWindow.Initialize(msgDialog, windowHandle)

				'Showing a dialog box.
				Dim cmd As IUICommand = Await msgDialog.ShowAsync()
				If cmd.Label = yesCmd.Label Then
					'Launch the saved file.
					Await Windows.System.Launcher.LaunchFileAsync(stFile)
				End If
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Für Android und macOS müssen Sie separate Dateien mit vergleichbaren SaveAndView-Implementierungen erstellen. Sie können ein funktionierendes Beispiel von diesem MAUI PDF Viewer GitHub-Repo erhalten.

Schritt 4: Code für PDF-Funktionalitäten

Es ist jetzt an der Zeit, den Code für die PDF-Funktionalitäten zu schreiben. Beginnen wir mit der URL zu PDF-Funktionalität.

URL zu PDF Funktionalität

Erstellen Sie eine UrlToPdf-Funktion für die URL zu PDF-Funktionalität. Inside the function, instantiate the ChromePdfRenderer object and use the RenderUrlAsPdf function to convert the URL to PDF documents. Die RenderUrlAsPdf-Funktion erhält die Daten der URL vom Webserver und verarbeitet diese, um sie in ein PDF-Dokument umzuwandeln. Übergeben Sie in den Parametern den Text in der URL-Entry-Steuerung, erstellen Sie ein Objekt der SaveService-Klasse und verwenden Sie die SaveAndView-Funktion. In den Parametern der SaveAndView-Funktion übergeben Sie den Stream der generierten PDF-Datei.

Die SaveAndView-Funktion hilft dabei, Dateien an einem beliebigen Pfad zu speichern und bietet die Möglichkeit, PDF-Dateien anzuzeigen. Schließlich wird ein Alarmfeld mit Informationen über die Erstellung der PDF-Datei angezeigt. Wenn ein Benutzer versucht, eine PDF-Datei mit einer leeren Eingabesteuerung zu erstellen, wird ein Alarmfeld mit einer Fehlermeldung und einer Warnung angezeigt.

private void UrlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(URL.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(URL.Text.Trim());
        SaveService saveService = new SaveService();
        saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from URL Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter URL!", "OK");
    }

}
private void UrlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(URL.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(URL.Text.Trim());
        SaveService saveService = new SaveService();
        saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from URL Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter URL!", "OK");
    }

}
Imports Microsoft.VisualBasic

Private Sub UrlToPdf(ByVal sender As Object, ByVal e As EventArgs)
	If Not String.IsNullOrEmpty(URL.Text) Then
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim pdf = renderer.RenderUrlAsPdf(URL.Text.Trim())
		Dim saveService As New SaveService()
		saveService.SaveAndView("URLtoPDF.pdf", "application/pdf", pdf.Stream)
		DisplayAlert("Success", "PDF from URL Created!", "OK")
	Else
		DisplayAlert("Error", "Field can't be empty! " & vbLf & "Please enter URL!", "OK")
	End If

End Sub
$vbLabelText   $csharpLabel

HTML zu PDF Funktionalität

Um die HTML-zu-PDF-Funktionalität zu konvertieren, erstellen Sie die HtmlToPdf-Funktion und verwenden Sie die RenderHtmlAsPdf-Funktion. Verwenden Sie den Text der Editor-Steuerung und übergeben Sie ihn in den Parametern der RenderHtmlAsPdf-Funktion. Ähnlich wie die obige Funktion verwenden Sie die SaveAndView-Funktion, um die Funktionalität zu aktivieren, die PDF-Datei nach dem Speichern anzuzeigen.

private void HtmlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(HTML.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(HTML.Text);
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from HTML Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter valid HTML!", "OK");
    }
}
private void HtmlToPdf(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(HTML.Text))
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(HTML.Text);
        SaveService saveService = new SaveService();
        saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream);
        DisplayAlert("Success", "PDF from HTML Created!", "OK");
    }
    else
    {
        DisplayAlert("Error", "Field can't be empty! \nPlease enter valid HTML!", "OK");
    }
}
Imports Microsoft.VisualBasic

Private Sub HtmlToPdf(ByVal sender As Object, ByVal e As EventArgs)
	If Not String.IsNullOrEmpty(HTML.Text) Then
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlAsPdf(HTML.Text)
		Dim saveService As New SaveService()
		saveService.SaveAndView("IronPDF HTML string.pdf", "application/pdf", pdf.Stream)
		DisplayAlert("Success", "PDF from HTML Created!", "OK")
	Else
		DisplayAlert("Error", "Field can't be empty! " & vbLf & "Please enter valid HTML!", "OK")
	End If
End Sub
$vbLabelText   $csharpLabel

HTML-Datei zu PDF Funktionalität

Erstellen Sie die FileToPdf-Funktion für das Konvertieren von HTML-Dateien in PDF-Dateien. Verwenden Sie die RenderHtmlFileAsPdf-Funktion und übergeben Sie den HTML-Dateipfad als Parameter. Es konvertiert den gesamten HTML-Inhalt in ein PDF und speichert die Ausgabedatei.

private void FileToPdf(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Users\Administrator\Desktop\index.html");
    SaveService saveService = new SaveService();
    saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream);
    DisplayAlert("Success", "PDF from File Created!", "OK");
}
private void FileToPdf(object sender, EventArgs e)
{
    var renderer = new IronPdf.ChromePdfRenderer();
    var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Users\Administrator\Desktop\index.html");
    SaveService saveService = new SaveService();
    saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream);
    DisplayAlert("Success", "PDF from File Created!", "OK");
}
Private Sub FileToPdf(ByVal sender As Object, ByVal e As EventArgs)
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlFileAsPdf("C:\Users\Administrator\Desktop\index.html")
	Dim saveService As New SaveService()
	saveService.SaveAndView("HTML File to PDF.pdf", "application/pdf", pdf.Stream)
	DisplayAlert("Success", "PDF from File Created!", "OK")
End Sub
$vbLabelText   $csharpLabel

Ausgabe

Nach dem Ausführen des Projekts sieht die Ausgabe folgendermaßen aus.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 3: Ausgabe Ausgabe

Geben Sie in diesem Abschnitt die URL der Microsoft-Website ein und klicken Sie auf den Button.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 4: URL zu PDF URL zu PDF

Nach der Erstellung der PDF-Datei zeigt es ein Dialogfeld an, um die Datei am angepassten Zielort zu speichern.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 5: Datei speichern Datei speichern

Nach dem Speichern der Datei wird dieses Popup angezeigt und bietet die Möglichkeit, einen PDF-Viewer auszuwählen, um die PDF-Datei zu sehen.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 6: PDF-Viewer-Popup PDF-Viewer-Popup

IronPDF konvertiert die URL bemerkenswert gut in PDF. Es bewahrt alle Farben und Bilder in ihrer ursprünglichen Form und Formatierung.

Wie man PDF in .NET MAUI anzeigt (Schritt-für-Schritt) Tutorial, Abbildung 7: PDF-Viewer-Popup PDF-Viewer-Popup

Das gleiche Verfahren muss mit allen anderen Funktionalitäten befolgt werden. Sehen Sie sich diesen IronPDF in Blazor Blogpost an, um mehr über die Arbeitsweise von IronPDF in Blazor zu erfahren.

Erfahren Sie, wie Sie eine MAUI-Seite als XAML in ein PDF-Dokument konvertieren, indem Sie "Wie man XAML in PDF in MAUI konvertiert" besuchen.

Zusammenfassung

Dieses Tutorial verwendet IronPDF in der .NET MAUI-App, um eine PDF-Datei und einen PDF-Viewer zu erstellen. Das .NET MAUI ist ein großartiges Tool, um plattformübergreifende Anwendungen mit einer einzigen Codebasis zu erstellen. IronPDF hilft dabei, PDF-Dateien einfach in jeder .NET-Anwendung zu erstellen und anzupassen. IronPDF ist vollständig mit der .NET MAUI-Plattform kompatibel.

IronPDF ist kostenlos für die Entwicklung. Sie können einen kostenlosen Testschlüssel erhalten, um IronPDF in der Produktion zu testen. Für weitere Informationen über IronPDF und seine Fähigkeiten besuchen Sie bitte die IronPDF Offizielle Website.

Häufig gestellte Fragen

Wie kann ich einen PDF-Viewer in eine .NET MAUI-Anwendung integrieren?

Um einen PDF-Viewer in eine .NET MAUI-Anwendung zu integrieren, können Sie IronPDF verwenden, um die Darstellung und Anzeige von PDF-Dateien zu bearbeiten. IronPDF ermöglicht es Ihnen, PDFs aus URLs, HTML-Strings und HTML-Dateien zu rendern, die dann mit verschiedenen PDF-Viewer-Tools in .NET MAUI gespeichert und angezeigt werden können.

Welche Schritte sind bei der Einrichtung von IronPDF für .NET MAUI erforderlich?

Die Einrichtung von IronPDF für .NET MAUI umfasst die Installation des IronPDF-Pakets über den NuGet-Paket-Manager in Visual Studio, die Konfiguration Ihres Projekts zur Handhabung der PDF-Darstellung und die Verwendung der Methoden von IronPDF, um HTML, URLs oder HTML-Dateien in PDF-Dokumente umzuwandeln.

Wie kann ich sicherstellen, dass mein PDF-Layout in .NET MAUI erhalten bleibt?

IronPDF bietet leistungsstarke Funktionen zur Erhaltung von PDF-Layouts in .NET MAUI-Anwendungen. Durch die Verwendung von Methoden wie RenderHtmlAsPdf oder RenderUrlAsPdf können Sie Ihre Inhalte in PDF umwandeln und dabei die ursprüngliche Formatierung und das Layout beibehalten.

Welche häufigen Probleme treten beim Anzeigen von PDFs in .NET MAUI auf und wie können diese gelöst werden?

Häufige Probleme beim Anzeigen von PDFs in .NET MAUI sind plattformabhängige Darstellungfehler und Dateizugriffsberechtigungen. Diese können durch die plattformübergreifenden Funktionen von IronPDF und eine ordnungsgemäße Handhabung der Dateiberechtigungen im Code Ihrer App gelöst werden.

Kann ich HTML-Inhalte in einer .NET MAUI-Anwendung in PDF umwandeln?

Ja, Sie können HTML-Inhalte in einer .NET MAUI-Anwendung mithilfe der Methode RenderHtmlAsPdf von IronPDF in PDF umwandeln. Dies ermöglicht es Ihnen, HTML-Strings effizient in vollständig formatierte PDF-Dokumente zu transformieren.

Wie behandle ich das Speichern und Anzeigen von Dateien in .NET MAUI?

In .NET MAUI können Sie IronPDF verwenden, um PDF-Dateien zu generieren und dann das Speichern und Anzeigen von Dateien mit plattformspezifischen Dateiverwaltung APIs implementieren. IronPDF unterstützt das Speichern von PDF-Dateien im lokalen Speicher, die dann mit einem PDF-Viewer geöffnet werden können.

Ist IronPDF mit allen Zielplattformen von .NET MAUI kompatibel?

Ja, IronPDF ist mit allen von .NET MAUI angezielten Plattformen kompatibel, einschließlich Windows, macOS, iOS, Android und tvOS, und bietet ein nahtloses PDF-Erstellungs- und Anzeigeerlebnis über diese Systeme hinweg.

Wie kann ich IronPDF in meinem .NET MAUI-Projekt vor der vollständigen Bereitstellung testen?

Sie können IronPDF in Ihrem .NET MAUI-Projekt testen, indem Sie die kostenlose Entwicklungslizenz verwenden. Dadurch können Sie PDF-Funktionen in Ihrer Anwendung integrieren und testen, bevor Sie sich für eine vollständige Produktionslizenz entscheiden.

Unterstützt IronPDF .NET 10 und welche Vorteile bietet das?

Ja, IronPDF unterstützt .NET 10 vollständig. Es funktioniert sofort ohne zusätzliche Anpassungen bei der Entwicklung von Anwendungen mit .NET 10, einschließlich MAUI-, Web-, Desktop- und Cloud-Anwendungen. Mit .NET 10 profitieren Sie von den neuesten Plattformverbesserungen, Leistungsoptimierungen und aktualisierten APIs.

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