如何在 MAUI 中将 XAML 转换为 PDF
.NET MAUI (多平台应用程序用户界面) 是一个用于构建本地设备应用程序的跨平台框架。它从 Xamarin.Forms 扩展而来,是统一的 .NET 6 生态系统的一部分。它使 .NET 应用程序开发人员能够使用通用的 UI 组件和单一的代码库为桌面、网络和移动平台创建应用程序。MAUI 还允许您在必要时添加特定于平台的代码和资源。
IronPdf 允许从 MAUI 页面生成 PDF 文档,从而使在这些应用程序中创建 PDF 文件/页面成为可能。不过,IronPdf 目前不支持移动平台。
如何在 MAUI 中将 XAML 转换为 PDF
- 下载用于在 MAUI 中将 XAML 转换为 PDF 的 C# 库
- 修改 MainPage.xaml.cs 文件来使用
将内容页面渲染为 PDF
方法 - 更新 MainPage.xaml 文件来触发新函数
- 导出 PDF 文档或使用 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 文件中,用新的 PrintToPdf 函数替换默认的 OnCounterClicked 函数。点击该按钮将运行 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 应用程序项目
您可以下载本指南的完整代码。它是一个压缩文件,您可以在 Visual Studio 中将其作为 .NET MAUI App 项目打开。