如何在 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 文件中,将默认的 OnCounterClicked 函数替换为新的 PrintToPdf 函数。 单击此按钮将运行 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 应用程序项目
您可以下载本指南的完整代码。它以压缩文件的形式提供,您可以将其作为.NET MAUI App项目在Visual Studio中打开。