如何在MAUI中將XAML轉換成PDF
.NET MAUI(多平台應用程式 UI)是一個用於構建原生設備應用程式的跨平台框架。 它擴展自Xamarin.Forms,並且是統一的 .NET 6 生態系統的一部分。 它使得 .NET 應用程式開發人員能夠使用共用的 UI 組件和單一程式碼基礎,為桌面、網頁和移動平台創建應用程式。 MAUI 也允許您在必要時添加特定平台的代碼和資源。
IronPDF允許您從MAUI頁面生成PDF文件,使在這些應用程式中創建PDF文件/頁面成為可能。 然而,IronPdf目前不支持移动平台。
如何在MAUI中將XAML轉換成PDF
IronPdf 擴充套件包
IronPdf.Extensions.Maui 套件是IronPDF主套件的擴展。 由於它是一個擴展,主要套件 IronPdf 仍然需要用來將 MAUI 應用程式的內容頁面渲染為 PDF 文件。
PM > Install-Package IronPdf.Extensions.MauiPM > Install-Package IronPdf.Extensions.Maui使用 NuGet 安裝
安裝套件 IronPdf.Extensions.Maui
將 MAUI 頁面渲染為 PDF
編輯 MainPage.xaml.cs 檔案
- 從 MainPage.xaml 文件轉到它的代碼文件 MainPage.xaml.cs。
 將名為OnCounterClicked的函數更改為PrintToPdf。 使用下面的代碼示例。
要將您的 MAUI 頁面轉換為 PDF,請使用
RenderContentPageToPdf方法。 可以通過實例化 ChromePdfRenderer 類別來訪問該方法。 此方法將為您提供一個 PdfDocument 對象,您可以使用SaveAs方法或 PDF 檢視器來儲存或查看此對象,參考 在 MAUI 中檢視 PDF。請注意
RenderContentPageToPdf方法尚不支援資料繫結。
:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.csusing IronPdf.Extensions.Maui;
namespace mauiSample;
public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }
    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };
        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;
        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}Imports IronPdf.Extensions.Maui
Namespace mauiSample
	Partial Public Class MainPage
		Inherits ContentPage
		Public Sub New()
			InitializeComponent()
		End Sub
		Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
			Dim renderer As New ChromePdfRenderer()
			' Apply HTML header
			renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}
			' Render PDF from Maui Page
			Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result
			pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
		End Sub
	End Class
End Namespace此外,如您所見,從 XAML 渲染還可以讓您完全訪問 RenderingOptions 中提供的所有功能。 這包括添加文字和 HTML 頁首和頁尾。 您還可以添加圖章、頁碼,甚至自訂頁面的大小和佈局。 使用此方法創建 PDF 時,所有這些選項都可用。
編輯 MainPage.xaml 檔案
在 MainPage.xaml 文件中,將預設的OnCounterClicked 函數替換為新的 PrintToPdf 函數。 按下此按鈕將運行PrintToPdf方法並創建 PDF。
<Button
x:Name="PrintToPdfBtn"
Text="Print to pdf"
SemanticProperties.Hint="Click to print page as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" /><Button
x:Name="PrintToPdfBtn"
Text="Print to pdf"
SemanticProperties.Hint="Click to print page as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />輸出 PDF
在儲存您的PDF檔案之前,您可以使用PdfDocument提供的方法對其進行更多更改。 您可以合併頁面、分割頁面或旋轉頁面。 您還可以在您的 PDF 中添加註解和書籤。
下載 .NET MAUI 應用程式專案
您可以下載本指南的完整代碼。它以壓縮檔的形式提供,您可以在Visual Studio中作為.NET MAUI應用程序項目打開。


 
 
 

