如何在MAUI中將XAML轉換成PDF
.NET MAUI(跨平台應用程式使用者介面)是一個用於構建原生設備應用程序的跨平台框架。 它擴展自Xamarin.Forms,並且是統一的 .NET 6 生態系統的一部分。 它使得 .NET 應用程式開發人員能夠使用共用的 UI 組件和單一程式碼基礎,為桌面、網頁和移動平台創建應用程式。 MAUI 也允許您在必要時添加特定平台的代碼和資源。
IronPDF允許您從MAUI頁面生成PDF文件,使在這些應用程式中創建PDF文件/頁面成為可能。 然而,IronPdf目前不支持移动平台。
如何在MAUI中將XAML轉換成PDF
- 下載適用於 MAUI 的 IronPdf C# 庫
- 修改 MainPage.xaml.cs 文件要使用
將內容頁渲染為 Pdf
方法 - 更新按鈕在 MainPage.xaml 觸發新功能的檔案
- 使用PDF查看器在MAUI應用程式中匯出或查看PDF文件。
- 下載範本 MAUI 專案以快速開始
IronPdf 擴充套件包
IronPdf.Extensions.Maui 套件 是 IronPdf 主套件的擴展。 由於它是一個擴展,主要套件 IronPdf 仍然需要用來將 MAUI 應用程式的內容頁面渲染為 PDF 文件。
PM > 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.請注意
這將內容頁渲染為 Pdf
該方法尚不支持數據綁定。
:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.cs
using IronPdf.Extensions.Maui;
namespace mauiSample;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void PrintToPdf(object sender, EventArgs e)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Apply HTML header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<h1>Header</h1>",
};
// Render PDF from Maui Page
PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;
pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
}
}
Imports IronPdf.Extensions.Maui
Namespace mauiSample
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
End Sub
Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
Dim renderer As New ChromePdfRenderer()
' Apply HTML header
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}
' Render PDF from Maui Page
Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result
pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
End Sub
End Class
End Namespace
此外,正如您可能已經注意到的那樣,從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" />
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<Button x:Name="PrintToPdfBtn" Text="Print to pdf" SemanticProperties.Hint="Click to print page as PDF" Clicked="PrintToPdf" HorizontalOptions="Center" />
輸出 PDF
在儲存您的PDF檔案之前,您可以使用PdfDocument提供的方法對其進行更多更改。 您可以合併頁面,拆分頁面,或旋轉它們。 您也可以添加註解和書籤到您的 PDF。
下載 .NET MAUI 應用程式專案
您可以下載本指南的完整代碼。它以壓縮檔的形式提供,您可以在Visual Studio中作為.NET MAUI應用程序項目打開。