在 C# MAUI 中將 XAML 轉換為 PDF
IronPDF 允許您在 .NET MAUI 應用程式中通過簡單幾行程式碼將 XAML 頁面轉換為 PDF。 通過使用 RenderContentPageToPdf 方法,您可以將 MAUI 應用程式的介面轉換為適用於桌面和網頁平台的專業 PDF 文件。
.NET MAUI(跨平台程式介面)是一個用於構建原生裝置應用程式的跨平台框架。 它從 Xamarin.Forms 擴展出來,是統一 .NET 6 生態系統的一部分。 它允許 .NET 應用程式開發人員使用通用的介面組件和單一程式碼基礎來建立桌面、網頁和移動平台的應用程式。 MAUI 還允許您在需要時新增特定平台的程式碼和資源。
IronPDF 讓您可以從 MAUI 頁面生成 PDF 文件,這使得在這些應用程式中建立 PDF 文件/頁面成為可能。 無論您是在 Windows 或 macOS 上開發,IronPDF 提供一致的 PDF 生成能力。 然而,IronPDF 目前不支持移動平台。
在 MAUI 應用程式中的 PDF 生成過程使用 IronPDF 的 Chrome 渲染引擎,確保您的 XAML 佈局準確轉換為 PDF格式。 這使其非常適合生成報告、發票或需要保持 MAUI 應用程式使用者介面視覺完整性的任何文件。
快速入門:在 .NET MAUI 中使用 IronPDF 將 XAML 轉換為 PDF
using IronPDF 在 .NET MAUI 中將您的 XAML 頁面轉換為 PDF。 只需幾行程式碼,您就可以將 MAUI 應用程式的內容變成專業品質的 PDF 文件。 本指南提供了一個簡單的範例,使您能快速使用 IronPDF 的高效渲染功能。 按照指南操作,順利將 PDF 生成整合到您的桌面和網頁應用程式中。
:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-1.cs
var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().Result.SaveAs("page.pdf");
Dim pdf = New IronPdf.ChromePdfRenderer().RenderContentPageToPdf(Of MainPage, App)().Result.SaveAs("page.pdf")
最小化工作流程(5 步驟)
- 下載 MAUI 的 IronPDF C# 程式庫
- 修改
MainPage.xaml.cs文件以使用RenderContentPageToPdf方法 - 更新
MainPage.xaml文件中的按鈕以觸發新功能 - 將 PDF 文件導出或在 MAUI 應用程式中使用 PDF 檢視器檢視它
- 下載樣本 MAUI 專案以快速開始
我需要什麼擴展包來使用 MAUI 的 IronPDF?
IronPdf.Extensions.Maui 包是 IronPdf 主包的擴展。 由於它是一個擴展,因此仍然需要 IronPdf 主包來將 MAUI 應用程式的內容頁面渲染為 PDF 文件。 此擴展包專門用於彌合 MAUI 的基於 XAML 的介面框架與 IronPDF 的 PDF 生成功能之間的鴻溝。
擴展包負責將 MAUI ContentPage 物件轉換為可渲染為 PDF 的 HTML。 它保留了您的 MAUI 頁面的佈局和樣式,同時提供了 IronPDF 的所有高級功能的存取,如 自定義邊距、自定義紙張尺寸 和 PDF 壓縮。
Install-Package IronPdf.Extensions.Maui
安裝擴展包後,您將可以存取 RenderContentPageToPdf 方法,這是將 MAUI 頁面轉換的關鍵。 此方法經過性能優化,在轉換過程中保持 XAML 佈局的視覺保真度。
如何將 MAUI 頁面渲染為 PDF?
我應該首先修改哪個程式碼文件?
- 從
MainPage.xaml文件轉到其程式碼文件MainPage.xaml.cs。 - 將名為
OnCounterClicked的函式更改為PrintToPdf。 使用下面的程式碼範例。
要將 MAUI 頁面轉換為 PDF,請使用 RenderContentPageToPdf 方法。 通過實例化 ChromePdfRenderer 類可以存取該方法。 此方法將為您提供一個 PdfDocument 物件,您可以使用 SaveAs 方法或 在 MAUI 中檢視 PDF 的 PDF 檢視器進行保存或檢視。
ChromePdfRenderer 類通過其 RenderingOptions 屬性提供廣泛的自定義選項。 您可以設置頁邊距、紙張方向、啟用 JavaScript 執行等。 這些選項確保您的 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 時均可用。
RenderContentPageToPdf 方法預設為異步,返回 Task<PdfDocument>。 這允許非阻塞的 PDF 生成,對於處理複雜佈局或同時生成多個 PDF 時特別有用。 該方法自動處理 XAML 視覺元素到其 PDF 等價物的轉換,保留顏色、字體和佈局結構。
我需要在 XAML 文件中進行哪些更改?
在 MainPage.xaml 文件中,將預設的 OnCounterClicked 函式替換為新的 PrintToPdf 函式。 單擊此按鈕將運行 PrintToPdf 方法並建立 PDF。 此簡單修改將您的 MAUI 應用程式變成一個 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" />
可以使用標準的 MAUI 樣式屬性對按鈕進行樣式設計,並在生成 PDF 時新增其他視覺反饋,如載入指示器。 這確保在 PDF 建立過程中獲得流暢的使用者體驗。
輸出 PDF 的樣子如何?
在保存您的 PDF 文件之前,您可以使用提供給 PdfDocument 的方法進行更多更改。 您可以 合併頁面、分割頁面,或者旋轉它們。 您還可以為您的 PDF 新增 註釋 和 書籤。 此外,您可以 設置 PDF 元資料,例如作者、標題和關鍵詞,以改善文件組織和搜尋能力。
生成的 PDF 保持了您的 MAUI 頁面的視覺層次和樣式,包括字體、顏色和佈局限制。 這使其非常適合建立應用程式螢幕的可列印版本或生成基於應用程式介面的報告。
我可以在哪裡下載完整的 MAUI 樣本專案?
您可以下載本指南的完整程式碼。它作為一個壓縮文件提供,您可以在 Visual Studio 中將其作為 .NET MAUI 應用程式專案打開。 樣本專案包括所有必要的依賴項,並展示了將 IronPDF 整合到 MAUI 應用程式中的最佳實踐。
樣本專案配置為在 Windows 和 macOS 桌面平台上運行,展示了 MAUI 和 IronPDF 的跨平台能力。 它包括各種 PDF 生成場景的範例,並演示了如何處理不同的頁面佈局和內容型別。
在這裡探索我們的教程頁面以獲取更多可能性:轉換 PDF。 您還可能對我們的指南感興趣,例如 PDF 壓縮 以改善網路分發的 PDF,或瞭解在 Blazor 伺服器中建立 PDF 以獲得基於Web的 PDF 生成場景。
常見問題
.NET MAUI是什麼?它與PDF生成有何關聯?
.NET MAUI(多平台應用程式UI)是一個擴展自Xamarin.Forms的跨平台框架,用於構建本機裝置應用程式。IronPDF與.NET MAUI應用程式整合,通過RenderContentPageToPdf方法從XAML頁面生成PDF,允許開發者將其MAUI應用程式的UI轉換為專業的PDF文件。
在MAUI應用程式中支持哪些平台的PDF生成?
IronPDF目前支持在桌面(Windows和macOS)和網頁平台上的MAUI應用程式進行PDF生成。IronPDF目前不支持在移動平台上進行MAUI的PDF生成。
在MAUI中將XAML轉換為PDF需要哪些擴展套件?
您需要IronPdf.Extensions.Maui套件以及主要的IronPdf套件。該擴展套件專門橋接MAUI的基於XAML的UI框架與IronPDF的PDF生成功能,處理MAUI ContentPage物件轉換為HTML並渲染為PDF。
如何在C#中將MAUI XAML頁面轉換為PDF?
使用IronPDF將MAUI XAML頁面轉換為PDF非常簡單。您可以僅用一行程式碼使用RenderContentPageToPdf方法:var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf().SaveAs('page.pdf')。這利用了IronPDF的Chrome渲染引擎,準確地將XAML佈局轉換為PDF格式。
在MAUI應用程式中實現PDF生成的基本步驟是什麼?
基本工作流程包括:1)下載IronPDF的MAUI C#程式庫,2)修改MainPage.xaml.cs檔案以使用RenderContentPageToPdf方法,3)更新MainPage.xaml中的按鈕以觸發該功能,4)匯出PDF文件或在MAUI應用程式中查看,5)可選擇下載IronPDF的範例MAUI專案以快速開始。
PDF轉換過程使用什麼渲染引擎?
IronPDF在MAUI應用程式中使用其Chrome渲染引擎進行PDF生成過程。這確保您的XAML佈局準確地轉換為PDF格式,同時保留MAUI應用程式使用者介面的視覺完整性。

