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.
Wie man PDF-Dateien in .NET MAUI anzeigt
- Installieren Sie IronPDF zur Anzeige von PDF-Dateien in .NET MAUI
- Einrichtung des **Frontend**-Designs des MAUI-Projekts
- Speichern von Dateien im lokalen Speicher und Ansehen von PDFs behandeln
- Verwenden Sie Rendermethoden für URL, HTML-String oder Datei
- 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:
- Die neueste Version von Visual Studio
- .NET Framework 6 oder 7
- MAUI-Pakete, die in Visual Studio installiert sind
- .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.
Paket-Manager-Konsole
Geben Sie als nächstes den folgenden Befehl ein:
Install-Package IronPdf
Dadurch werden das Paket und alle seine Abhängigkeiten, wie zum Beispiel der Ordner assets, installiert.
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" />
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" />
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" />
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>
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. Für die Erstellung der Speicher- und Anzeigefunktionalität wird eine partielle Klasse namens SaveService mit einer partiellen void-Funktion namens SaveAndView mit drei Parametern erstellt: dem Dateinamen, dem Dateiinhaltstyp und dem Speicherstream, in den die Datei geschrieben werden soll.
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
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
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. Innerhalb der Funktion wird das Objekt ChromePdfRenderer instanziiert und die Funktion RenderUrlAsPdf verwendet, um die URL in PDF-Dokumente zu konvertieren. Die Funktion RenderUrlAsPdf ruft die Daten der URL vom Webserver ab und verarbeitet sie, um sie in ein PDF-Dokument umzuwandeln. Übergeben Sie in den Parametern den Text im URL-Eingabefeld, erstellen Sie ein Objekt der Klasse SaveService und verwenden Sie die Funktion SaveAndView. In den Parametern der Funktion SaveAndView muss der Datenstrom der generierten PDF-Datei übergeben werden.
Die Funktion SaveAndView ermöglicht das Speichern von Dateien unter einem beliebigen Pfad und bietet die Option, 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
HTML zu PDF Funktionalität
Für die Funktionalität zur Konvertierung von HTML in PDF erstellen Sie die Funktion HtmlToPdf und verwenden die Funktion RenderHtmlAsPdf . Verwenden Sie den Text des Editor-Steuerelements und übergeben Sie ihn als Parameter an die Funktion RenderHtmlAsPdf. Ähnlich wie bei der obigen Funktion kann man mit der Funktion SaveAndView die Funktionalität 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
HTML-Datei zu PDF Funktionalität
Erstellen Sie die Funktion FileToPdf zum Konvertieren von HTML-Dateien in PDF-Dateien. Verwenden Sie die Funktion RenderHtmlFileAsPdf und übergeben Sie den Pfad zur HTML-Datei 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
Ausgabe
Nach dem Ausführen des Projekts sieht die Ausgabe folgendermaßen aus.
Ausgabe
Geben Sie in diesem Abschnitt die URL der Microsoft-Website ein und klicken Sie auf den Button.
URL zu PDF
Nach der Erstellung der PDF-Datei zeigt es ein Dialogfeld an, um die Datei am angepassten Zielort zu 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.
PDF-Viewer-Popup
IronPDF konvertiert die URL bemerkenswert gut in PDF. Es bewahrt alle Farben und Bilder in ihrer ursprünglichen Form und Formatierung.
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 for .NET MAUI erforderlich?
Die Einrichtung von IronPDF for .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 for .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.




