如何在.NET MAUI中將XAML轉換為PDF

在 C# MAUI 中將 XAML 轉換為 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 允許您在 .NET MAUI 應用程式中通過簡單幾行程式碼將 XAML 頁面轉換為 PDF。 通過使用 RenderContentPageToPdf 方法,您可以將 MAUI 應用程式的介面轉換為適用於桌面和網頁平台的專業 PDF 文件。

.NET MAUI(跨平台程式介面)是一個用於構建原生裝置應用程式的跨平台框架。 它從 Xamarin.Forms 擴展出來,是統一 .NET 6 生態系統的一部分。 它允許 .NET 應用程式開發人員使用通用的介面組件和單一程式碼基礎來建立桌面、網頁和移動平台的應用程式。 MAUI 還允許您在需要時新增特定平台的程式碼和資源。

IronPDF 讓您可以從 MAUI 頁面生成 PDF 文件,這使得在這些應用程式中建立 PDF 文件/頁面成為可能。 無論您是在 WindowsmacOS 上開發,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")
$vbLabelText   $csharpLabel

最小化工作流程(5 步驟)

  1. 下載 MAUI 的 IronPDF C# 程式庫
  2. 修改 MainPage.xaml.cs 文件以使用 RenderContentPageToPdf 方法
  3. 更新 MainPage.xaml 文件中的按鈕以觸發新功能
  4. 將 PDF 文件導出或在 MAUI 應用程式中使用 PDF 檢視器檢視它
  5. 下載樣本 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 佈局的視覺保真度。

Icon Quote related to 我需要什麼擴展包來使用 MAUI 的 IronPDF?

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic related to 我需要什麼擴展包來使用 MAUI 的 IronPDF?

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 我需要什麼擴展包來使用 MAUI 的 IronPDF?

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle related to 我需要什麼擴展包來使用 MAUI 的 IronPDF?

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 我需要什麼擴展包來使用 MAUI 的 IronPDF?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones related to 我需要什麼擴展包來使用 MAUI 的 IronPDF?

David Jones

首席軟體工程師,Agorus Build

查看案例研究

如何將 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
$vbLabelText   $csharpLabel

此外,正如您可能已經注意到的,從 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" />
XML

可以使用標準的 MAUI 樣式屬性對按鈕進行樣式設計,並在生成 PDF 時新增其他視覺反饋,如載入指示器。 這確保在 PDF 建立過程中獲得流暢的使用者體驗。

輸出 PDF 的樣子如何?

在保存您的 PDF 文件之前,您可以使用提供給 PdfDocument 的方法進行更多更改。 您可以 合併頁面、分割頁面,或者旋轉它們。 您還可以為您的 PDF 新增 註釋書籤。 此外,您可以 設置 PDF 元資料,例如作者、標題和關鍵詞,以改善文件組織和搜尋能力。

生成的 PDF 保持了您的 MAUI 頁面的視覺層次和樣式,包括字體、顏色和佈局限制。 這使其非常適合建立應用程式螢幕的可列印版本或生成基於應用程式介面的報告。

我可以在哪裡下載完整的 MAUI 樣本專案?

您可以下載本指南的完整程式碼。它作為一個壓縮文件提供,您可以在 Visual Studio 中將其作為 .NET MAUI 應用程式專案打開。 樣本專案包括所有必要的依賴項,並展示了將 IronPDF 整合到 MAUI 應用程式中的最佳實踐。

樣本專案配置為在 Windows 和 macOS 桌面平台上運行,展示了 MAUI 和 IronPDF 的跨平台能力。 它包括各種 PDF 生成場景的範例,並演示了如何處理不同的頁面佈局和內容型別。

下載完整的 MAUI 樣本專案

在這裡探索我們的教程頁面以獲取更多可能性:轉換 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應用程式使用者介面的視覺完整性。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。