在 C# MAUI 中将 XAML 转换为 PDF
IronPDF 允许您在 .NET MAUI 应用程序中仅需几行代码即可将 XAML 页面转换为 PDF。 通过使用 RenderContentPageToPdf 方法,您可以将 MAUI 应用程序的用户界面转换为适用于桌面和 Web 平台的专业 PDF 文档。
.NET MAUI(多平台应用用户界面)是一个用于构建原生设备应用的跨平台框架。 它基于 Xamarin.Forms 构建,是统一的 .NET 6 生态系统的一部分。 它使 .NET 应用程序开发人员能够使用通用的 UI 组件和单一代码库,为桌面、Web 和移动平台创建应用程序。 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 生成功能无缝集成到您的桌面和 Web 应用程序中。
var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().SaveAs("page.pdf");
var pdf = new IronPdf.ChromePdfRenderer().RenderContentPageToPdf<MainPage,App>().SaveAs("page.pdf");
简易工作流程(5个步骤)
- 下载适用于 MAUI 的 IronPDF C# 库
- 修改
MainPage.xaml.cs文件,以使用RenderContentPageToPdf方法 - 更新
MainPage.xaml文件中的按钮,以触发新功能 - 导出 PDF 文档,或使用 PDF 阅读器在 MAUI 应用中查看
- 下载 MAUI 示例项目以快速入门
使用 IronPDF 配合 MAUI 时需要哪些扩展包?
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
安装扩展包后,您将可以使用 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 示例项目?
您可以下载本指南的完整代码。该代码以 ZIP 文件形式提供,您可以在 Visual Studio 中将其作为 .NET MAUI 应用程序项目打开。 示例项目包含所有必要的依赖项,并展示了将 IronPDF 集成到 MAUI 应用程序中的最佳实践。
示例项目已配置为可在 Windows 和 macOS 桌面平台上运行,展示了 MAUI 和 IronPDF 的跨平台能力。 其中包含各种 PDF 生成场景的示例,并演示了如何处理不同的页面布局和内容类型。
点击此处访问我们的教程页面,探索更多可能性:PDF 转换。 您可能还对我们的 PDF 压缩指南感兴趣,这些指南可帮助您优化生成的 PDF 以供网络分发;或者了解如何在 Blazor Servers 中创建 PDF,以满足基于 Web 的 PDF 生成场景需求。
常见问题解答
什么是 .NET MAUI,它与 PDF 生成有何关系?
.NET MAUI(多平台应用程序用户界面)是从 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 应用程序用户界面的视觉完整性。

