Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Jak wyświetlać PDF w .NET MAUI (Samouczek krok po kroku)

.NET MAUI to nowa generacja platformy .NET, która umożliwia programistom tworzenie wieloplatformowych aplikacji desktopowych, internetowych i mobilnych, w tym Xamarin.Forms, przy użyciu jednego kodu źródłowego. Dzięki .NET MAUI możesz napisać aplikację raz i wdrożyć ją na wielu platformach, w tym Windows, macOS, iOS, Android i tvOS, zachowując tę samą nazwę projektu. .NET MAUI pozwala również korzystać z najnowszych funkcji interfejsu użytkownika na każdej platformie, takich jak tryb ciemny i obsługa dotykowa w systemie macOS lub rozpoznawanie mowy w systemie Windows 10.

W tym artykule wyjaśnimy, jak korzystać z IronPDF w aplikacji .NET MAUI, aby tworzyć dokumenty PDF oferujące wiele korzyści.


IronPDF: biblioteka PDF dla języka C

IronPDF to biblioteka .NET, która umożliwia generowanie i edycję plików PDF. Idealnie nadaje się do stosowania w aplikacjach .NET MAUI, ponieważ oferuje szeroki zakres funkcji, które można dostosować do konkretnych potrzeb. Dzięki łatwemu w użyciu interfejsowi API IronPDF ułatwia integrację funkcji PDF z projektem .NET MAUI.

Wymagania wstępne

Istnieje kilka warunków wstępnych dotyczących tworzenia plików PDF i przeglądarki PDF w .NET MAUI przy użyciu IronPDF:

  1. Najnowsza wersja programu Visual Studio
  2. .NET Framework 6 lub 7
  3. Pakiety MAUI zainstalowane w Visual Studio
  4. Aplikacja .NET MAUI działająca w Visual Studio

Krok 1: Zainstaluj IronPDF

Jednym z najlepszych sposobów zainstalowania IronPDF w nowym projekcie jest użycie konsoli NuGet Package Manager Console w Visual Studio. Korzystanie z tej metody instalacji IronPDF ma kilka zalet.

  • To proste, a
  • Możesz mieć pewność, że korzystasz z najnowszej wersji IronPDF.

Kroki instalacji IronPDF

Najpierw otwórz konsolę menedżera pakietów, przechodząc do menu Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów.

Jak wyświetlać pliki PDF w .NET MAUI (krok po kroku) – samouczek, rysunek 1: Konsola menedżera pakietów Konsola menedżera pakietów

Następnie wpisz następujące polecenie:

Install-Package IronPdf

Spowoduje to zainstalowanie pakietu i wszystkich jego zależności, takich jak folder assets.

Jak wyświetlać pliki PDF w .NET MAUI (krok po kroku) – samouczek, rysunek 2: Instalacja IronPDF Instalacja IronPDF

Teraz możesz zacząć korzystać z IronPDF w swoim projekcie MAUI.

Krok 2: Konfiguracja projektu interfejsu użytkownika w .NET MAUI

Najpierw należy stworzyć układ graficzny dla trzech funkcji IronPDF.

URL do układu PDF

W przypadku układu "URL do PDF" należy utworzyć etykietę z tekstem "Wprowadź adres URL, aby przekonwertować plik PDF" przy użyciu kontrolki etykiety .NET MAUI. Następnie zastosuj układ poziomy, aby ustawić kontrolkę Entry i przycisk w linii poziomej. Następnie wstaw linię po elementach sterujących, aby oddzielić kolejną sekcję elementów sterujących.

<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

Układ HTML do PDF

Aby sformatować sekcję HTML do PDF, utwórz kontrolkę Editor oraz przycisk. Kontrolka Editor będzie używana do przyjmowania ciągu znaków treści HTML od użytkownika. Dodatkowo proszę dodać linię jako separator.

<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

Układ pliku HTML do PDF

W przypadku plików HTML do PDF należy dodać tylko jeden przycisk. Ten przycisk pomoże przekonwertować plik HTML na dokument PDF przy użyciu IronPDF.

<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

Kompletny kod interfejsu użytkownika

Pełny kod źródłowy frontendu .NET MAUI znajduje się poniżej.

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

Krok 3: Kod do zapisywania i przeglądania plików PDF

.NET MAUI nie posiada żadnej wbudowanej funkcji do zapisywania plików w lokalnej pamięci. W związku z tym konieczne jest samodzielne napisanie kodu. W celu utworzenia funkcji zapisywania i przeglądania tworzona jest klasa częściowa o nazwie SaveService z funkcją częściową typu void o nazwie SaveAndView z trzema parametrami: nazwą pliku, typem zawartości pliku oraz strumieniem pamięci do zapisu pliku.

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

Funkcje zapisywania i przeglądania będą musiały zostać zaimplementowane dla każdej platformy, która ma być obsługiwana (np. dla systemów Android, macOS i/lub Windows). W przypadku platformy Windows należy utworzyć plik o nazwie "SaveWindows.cs" i zaimplementować metodę częściową 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

W przypadku systemów Android i macOS należy utworzyć oddzielne pliki z porównywalnymi implementacjami SaveAndView. Przykład działającego rozwiązania można znaleźć w repozytorium GitHub MAUI PDF Viewer.

Krok 4: Kod funkcji PDF

Teraz nadszedł czas na napisanie kodu dla funkcji PDF. Zacznijmy od funkcji konwersji adresów URL do formatu PDF.

Funkcja konwersji URL na PDF

Utwórz funkcję UrlToPdf dla funkcji konwersji adresu URL na plik PDF. Wewnątrz funkcji należy utworzyć instancję obiektu ChromePdfRenderer i użyć funkcji RenderUrlAsPdf do konwersji adresu URL na dokumenty PDF. Funkcja RenderUrlAsPdf pobiera dane z adresu URL z serwera internetowego i przetwarza je, aby przekształcić je w dokument PDF. W parametrach przekaż tekst z pola wprowadzania adresu URL, utwórz obiekt klasy SaveService i użyj funkcji SaveAndView. W parametrach funkcji SaveAndView należy przekazać strumień wygenerowanego pliku PDF.

Funkcja SaveAndView pomaga zapisywać pliki w dowolnej ścieżce oraz umożliwia przeglądanie plików PDF. Na koniec wyświetl okno z informacją o tworzeniu pliku PDF. Jeśli użytkownik spróbuje utworzyć plik PDF z pustym polem, wyświetli się okno z komunikatem o błędzie i ostrzeżeniem.

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

Funkcja konwersji HTML do PDF

Aby skorzystać z funkcji konwersji HTML do PDF, należy utworzyć funkcję HtmlToPdf i użyć funkcji RenderHtmlAsPdf. Użyj tekstu z kontrolki Editor i przekaż go w parametrach funkcji RenderHtmlAsPdf. Podobnie jak w przypadku powyższej funkcji, użyj funkcji SaveAndView, aby włączyć możliwość przeglądania pliku PDF po zapisaniu.

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

Funkcja konwersji plików HTML do formatu PDF

Utwórz funkcję FileToPdf do konwersji plików HTML na pliki PDF. Użyj funkcji RenderHtmlFileAsPdf i przekaż ścieżkę do pliku HTML jako parametr. Konwertuje całą zawartość HTML do formatu PDF i zapisuje plik wyjściowy.

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

Wynik

Po uruchomieniu projektu wynik będzie wyglądał następująco.

Samouczek Wynik

Wpisz adres URL strony Microsoftu w tej sekcji i kliknij przycisk.

Jak wyświetlać pliki PDF w .NET MAUI (krok po kroku) – samouczek, rysunek 4: URL do pliku PDF URL do pliku PDF

Po utworzeniu pliku PDF wyświetla się okno dialogowe umożliwiające zapisanie pliku w wybranej lokalizacji.

Jak wyświetlać pliki PDF w .NET MAUI (krok po kroku) – samouczek, rysunek 5: Zapisywanie pliku Zapisz plik

Po zapisaniu pliku pojawia się to okienko, które umożliwia wybranie przeglądarki PDF do wyświetlenia pliku.

Jak wyświetlać pliki PDF w .NET MAUI (krok po kroku) – samouczek, rysunek 6: Wyskakujące okienko przeglądarki PDF Wyskakujące okienko przeglądarki PDF

IronPDF znakomicie konwertuje adresy URL do formatu PDF. Zachowuje wszystkie kolory i obrazy w ich oryginalnym kształcie i formatowaniu.

Jak wyświetlać pliki PDF w .NET MAUI (krok po kroku) – samouczek, rysunek 7: Wyskakujące okienko przeglądarki PDF Wyskakujące okienko przeglądarki PDF

Tę samą procedurę należy zastosować w odniesieniu do wszystkich pozostałych funkcji. Zapoznaj się z tym wpisem na blogu IronPDF w Blazor, aby dowiedzieć się więcej o działaniu IronPDF w Blazor.

Dowiedz się, jak przekonwertować stronę MAUI w formacie XAML na dokument PDF, odwiedzając stronę "Jak przekonwertować XAML na PDF w MAUI".

Podsumowanie

W tym samouczku wykorzystano IronPDF w aplikacji .NET MAUI do utworzenia pliku PDF i przeglądarki PDF. .NET MAUI to doskonałe narzędzie do tworzenia aplikacji wieloplatformowych w oparciu o jedną bazę kodu. IronPDF pomaga w łatwym tworzeniu i dostosowywaniu plików PDF w dowolnej aplikacji .NET. IronPDF jest w pełni kompatybilny z platformą .NET MAUI.

IronPDF jest bezpłatny do celów programistycznych. Możesz otrzymać bezpłatny klucz próbny, aby przetestować IronPDF w środowisku produkcyjnym. Aby uzyskać więcej informacji na temat IronPDF i jego możliwości, odwiedź oficjalną stronę internetową IronPDF.

Często Zadawane Pytania

Jak zintegrować przeglądarkę plików PDF z aplikacją .NET MAUI?

Aby zintegrować przeglądarkę plików PDF z aplikacją .NET MAUI, można użyć biblioteki IronPDF do renderowania i wyświetlania plików PDF. IronPDF umożliwia renderowanie plików PDF z adresów URL, ciągów znaków HTML i plików HTML, które następnie można zapisać i wyświetlić za pomocą różnych narzędzi do przeglądania plików PDF w środowisku .NET MAUI.

Jakie kroki trzeba wykonać, żeby skonfigurować IronPDF for .NET MAUI?

Konfiguracja IronPDF for .NET MAUI obejmuje instalację pakietu IronPDF za pośrednictwem menedżera pakietów NuGet w Visual Studio, skonfigurowanie projektu pod kątem renderowania plików PDF oraz wykorzystanie metod IronPDF do konwersji kodu HTML, adresów URL lub plików HTML na dokumenty PDF.

Jak mogę zapewnić zachowanie układu pliku PDF w .NET MAUI?

IronPDF zapewnia solidne możliwości zachowania układów PDF w aplikacjach .NET MAUI. Korzystając z metod takich jak RenderHtmlAsPdf lub RenderUrlAsPdf, można konwertować treści do formatu PDF, zachowując oryginalne formatowanie i układ.

Jakie są typowe problemy związane z wyświetlaniem plików PDF w .NET MAUI i jak można je rozwiązać?

Typowe problemy związane z wyświetlaniem plików PDF w .NET MAUI obejmują błędy renderowania specyficzne dla platformy oraz uprawnienia dostępu do plików. Można je rozwiązać, korzystając z możliwości wieloplatformowych IronPDF i zapewniając prawidłową obsługę uprawnień do plików w kodzie aplikacji.

Czy mogę konwertować zawartość HTML do formatu PDF w aplikacji .NET MAUI?

Tak, w aplikacji .NET MAUI można konwertować zawartość HTML na PDF za pomocą metody RenderHtmlAsPdf biblioteki IronPDF. Pozwala to na wydajną transformację ciągów HTML w w pełni sformatowane dokumenty PDF.

Jak obsługiwać zapisywanie i przeglądanie plików w .NET MAUI?

W .NET MAUI można używać IronPDF do generowania plików PDF, a następnie wdrażać funkcje zapisywania i przeglądania plików za pomocą interfejsów API obsługi plików specyficznych dla danej platformy. IronPDF obsługuje zapisywanie plików PDF w pamięci lokalnej, które można następnie otworzyć za pomocą przeglądarki plików PDF.

Czy IronPDF jest kompatybilny ze wszystkimi docelowymi platformami .NET MAUI?

Tak, IronPDF jest kompatybilny ze wszystkimi platformami obsługiwanymi przez .NET MAUI, w tym Windows, macOS, iOS, Android i tvOS, zapewniając płynne tworzenie i przeglądanie plików PDF na tych systemach.

Jak mogę przetestować IronPDF w moim projekcie .NET MAUI przed pełnym wdrożeniem?

Możesz przetestować IronPDF w swoim projekcie .NET MAUI, korzystając z bezpłatnej licencji deweloperskiej. Pozwala to na integrację i przetestowanie funkcji PDF w aplikacji przed zakupem pełnej licencji produkcyjnej.

Czy IronPDF obsługuje .NET 10 i jakie korzyści to przynosi?

Tak, IronPDF w pełni obsługuje .NET 10. Działa od razu po instalacji, bez żadnych niestandardowych rozwiązań, podczas tworzenia aplikacji w .NET 10, w tym aplikacji MAUI, internetowych, desktopowych i opartych na chmurze. Korzystanie z .NET 10 zapewnia dostęp do najnowszych ulepszeń platformy, zwiększonej wydajności i zaktualizowanych interfejsów API.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie