如何在 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 應用程式的 UI 變更為適用於桌面和 Web 平台的專業 PDF 文件。

.NET MAUI(多平台應用程式使用者介面)是一個用於建立原生設備應用程式的跨平台框架。 它繼承自 Xamarin.Forms,是統一的 .NET 6 生態系統的一部分。 它允許 .NET 應用程式開發人員使用通用 UI 元件和單一程式碼庫為桌面、Web 和行動平台建立應用程式。 MAUI 還允許您在必要時添加特定於平台的程式碼和資源。

IronPDF 可讓您從 MAUI 頁面產生 PDF 文檔,從而使這些應用程式中建立 PDF 文件/頁面成為可能。 無論您是在WindowsmacOS上開發,IronPDF 都能提供一致的 PDF 產生功能。 但是,IronPDF目前不支援移動平台。

MAUI 應用程式中的 PDF 產生流程使用 IronPDF 的 Chrome 渲染引擎,確保您的 XAML 佈局能夠準確地轉換為 PDF 格式。 這使其成為產生報告、發票或任何需要保持 MAUI 應用程式使用者介面視覺完整性的文件的理想選擇。

快速入門:在 .NET MAUI 中使用 IronPDF 將 XAML 轉換為 PDF

使用 IronPDF 在 .NET MAUI 中將 XAML 頁面轉換為 PDF。 只需幾行程式碼,即可將 MAUI 應用程式的內容變更為專業品質的 PDF 文件。 本指南提供了一個簡單的範例,幫助您快速上手,使用 IronPDF 的高效渲染功能。 請按照以下步驟,即可將 PDF 生成功能順利整合到您的桌面和 Web 應用程式中。

var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().SaveAs("page.pdf");
var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().SaveAs("page.pdf");
$vbLabelText   $csharpLabel

最簡工作流程(5個步驟)

1.下載適用於 MAUI 的 IronPDF C# 庫

  1. 修改MainPage.xaml.cs文件,使用RenderContentPageToPdf方法
  2. 更新MainPage.xaml檔案中的按鈕以觸發新功能
  3. 匯出 PDF 文檔,或使用 MAUI 應用程式中的 PDF 檢視器檢視 PDF 文件。
  4. 下載 MAUI 範例項目,快速入門

我需要哪個擴充包才能在 MAUI 中使用 IronPDF?

IronPdf.Extensions.Maui包是IronPdf主包的擴充。 由於它是一個擴充程序,因此仍然需要 IronPDF 主程式包才能將 MAUI 應用程式的內容頁面渲染為 PDF 文件。 此擴充包專門彌合了 MAUI 基於 XAML 的 UI 框架和 IronPDF 的 PDF 生成功能之間的差距。

此擴充包負責將 MAUI ContentPage 物件轉換為可渲染為 PDF 的 HTML。 它保留了 MAUI 頁面的佈局和樣式,同時提供了對 IronPDF 所有高級功能的訪問,例如自訂邊距自訂紙張尺寸PDF 壓縮

Install-Package IronPdf.Extensions.Maui
Install-Package IronPdf.Extensions.Maui
SHELL

安裝擴充包後,您將可以使用RenderContentPageToPdf方法,這是轉換 MAUI 頁面的關鍵。 此方法針對效能進行了最佳化,並在轉換過程中保持 XAML 佈局的視覺保真度。

如何將 MAUI 頁面渲染成 PDF?

我應該先修改哪個程式碼檔案?

  • MainPage.xaml檔案到其程式碼檔案MainPage.xaml.cs
  • 將名為OnCounterClicked函數改為PrintToPdf 。 請使用以下程式碼範例。

若要將 MAUI 頁面轉換為 PDF,請使用RenderContentPageToPdf方法。 可以透過實例化ChromePdfRenderer類別來存取該方法。 此方法將為您提供一個PdfDocument對象,您可以使用SaveAs方法或 PDF 檢視器透過MAUI 中的"檢視 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");
    }
}
$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 頁面的視覺層次結構和樣式,包括字體、顏色和佈局約束。 這使其非常適合創建應用程式螢幕的可列印版本或根據應用程式的 UI 產生報告。

哪裡可以下載完整的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 (Multi-platform App 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 物件轉換為可渲染為 PDF 的 HTML。

如何在 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) 下載適用於 MAUI 的 IronPDF C# 函式庫;2) 修改 MainPage.xaml.cs 檔案以使用 RenderContentPageToPdf 方法;3) 更新 MainPage.xaml 中的按鈕以觸發函式;4) 匯出 PDF 文件或在 MAUI 應用程式中檢視;5) 可選擇下載 IronPDF 的示例 MAUI 專案以快速上手。

PDF 轉換過程使用何種渲染引擎?

IronPDF 在 MAUI 應用程式的 PDF 生成過程中使用其 Chrome 渲染引擎。這可確保您的 XAML 佈局準確地翻譯成 PDF 格式,同時保留 MAUI 應用程式使用者介面的視覺完整性。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布