如何在MAUI中將XAML轉換成PDF
.NET MAUI (跨平台應用程式使用者介面) 是一個跨平台架構,用於構建原生裝置應用程式。它從Xamarin.Forms延伸而來,是統一的.NET 6生態系統的一部分。它使.NET應用程式開發人員能夠使用通用的UI元件和單一代碼庫來創建桌面、網頁和移動平台的應用程式。MAUI也允許您在需要時添加特定平台的代碼和資源。
IronPdf允許您從MAUI頁面生成PDF文件,使得在這些應用程式中創建PDF文件/頁面成為可能。然而,IronPdf目前不支持移動平台。
如何在MAUI中將XAML轉換成PDF
- 下載用於在 MAUI 中將 XAML 轉換為 PDF 的 C# 庫
- 修改 主頁.xaml.cs 文件要使用
將內容頁渲染為 Pdf
方法 - 更新按鈕在 主頁.xaml 觸發新功能的檔案
- 匯出 PDF 文件或在 MAUI 應用程式中使用 PDF 檢視器查看文件
- 下載範例專案以快速開始
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 App 專案
您可以下載本指南的完整代碼。它是一個壓縮文件,可以在 Visual Studio 中作為 .NET MAUI App 專案打開。