Viewing PDFs in MAUI for C# .NET

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

 IronPDF查看器横幅

在现代跨平台开发时代,提供用户直接在你的应用中查看 PDF 文档的能力,不仅是方便,而是必需的。 通过 IronPDF Viewer,您可以在 MAUI 应用程序中嵌入 PDF 查看功能。

在本文中,我们将学习如何在 MAUI 应用程序中集成 IronPDF Viewer,以便让用户能够查看、保存和打印 PDF。

快速入门:在 MAUI 中实现IronPDF Viewer

通过几行代码即可在您的 MAUI 应用程序中开始集成 IronPDF Viewer。 本快速指南展示了如何无缝加载 PDF 文件,使用 IronPDF 强大的库。 这种方法非常适合渴望通过流畅 PDF 查看功能增强应用程序的开发者,强调操作简便性和快速实施。 简单地初始化 IronPDF Viewer 并加载您的 PDF,使您的应用中可以方便地查看 PDF。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 复制并运行这段代码。

    var viewer = new IronPdf.Viewer.Maui.PdfViewer { Source = "document.pdf" };
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPDF

    arrow pointer

Visual Studio - NuGet 软件包管理器

在Visual Studio中,右键单击解决方案资源管理器中的项目并选择Manage NuGet Packages...。 从那里,您可以搜索IronPdf.Viewer.Maui,然后将最新版本安装到您的解决方案中。 或者,您可以通过导航到Tools > NuGet Package Manager > Package Manager Console并输入以下命令打开NuGet包管理器控制台:

Install-Package IronPdf.Viewer.Maui

将 IronPDF Viewer 集成到 MAUI 应用程序中

在以下部分中,我们将演示如何将 IronPDF Viewer 集成到默认的 MAUI 应用程序中。

设置

在将 IronPDF Viewer 添加到您的 MAUI 项目之前,请确保其不以 iOS 和 Android 平台为目标。 您可以通过右键点击项目文件并选择 属性 来检查。 如果尚未取消选中,请取消勾选 目标 iOS 平台目标 Android 平台 复选框。 为成功执行此变更,您可能需要在取消选中后保存项目并重启 Visual Studio。

属性屏幕

在取消以 iOS 和 Android 平台为目标后,转到您的 MauiProgram.cs 文件并添加以下代码以初始化查看器:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-1.cs
using IronPdf.Viewer.Maui;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            // other configuration options ...
            .ConfigureIronPdfView(); // configure the viewer on app start-up

        return builder.Build();
    }
}
Imports IronPdf.Viewer.Maui

Public Module MauiProgram
	Public Function CreateMauiApp() As MauiApp
		Dim builder = MauiApp.CreateBuilder()
		builder.UseMauiApp(Of App)().ConfigureIronPdfView() ' configure the viewer on app start-up

		Return builder.Build()
	End Function
End Module
$vbLabelText   $csharpLabel

默认情况下,IronPDF Viewer 会在视图右下角显示一个横幅。 要移除此视图,请将您的IronPDF(或Iron Suite)许可证密钥添加到ConfigureIronPdfViewer,像这样:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-2.cs
.ConfigureIronPdfView("YOUR-LICENSE-KEY");
.ConfigureIronPdfView("YOUR-LICENSE-KEY")
$vbLabelText   $csharpLabel

添加一个 PDF 查看页面

在本节中,我们将学习如何创建一个 PDF 查看页面,集成 IronPDF Viewer,并在 MAUI 应用程序中为其创建一个标签。 我们将演示如何使用XAML和C# ContentPage实现这一点。

步骤

  1. 通过右键单击您的项目,添加新页面,然后导航到Add > New Item... 添加新项目

  2. 导航到.NET MAUI部分。 要创建XAML页面,请选择.NET MAUI ContentPage (XAML)。 对于C#文件,请选择.NET MAUI ContentPage (C#)。 给您的文件命名为PdfViewerPage,然后点击Add.NET MAUI `ContentPage`

  3. 在 XAML 文件中添加以下代码并保存:
:path=/static-assets/pdf/tutorials/pdf-viewing/pdf-viewing-xaml-1.xml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage ...
    xmlns:ipv="clr-namespace:IronPdf.Viewer.Maui;assembly=IronPdf.Viewer.Maui"
    ...>
    <ipv:IronPdfView x:Name="pdfView"/>
</ContentPage>
XML

如果您创建了C# ContentPage,则添加以下代码并保存:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-3.cs
using IronPdf.Viewer.Maui;

public class MainPage : ContentPage
{
    private readonly IronPdfView pdfView;

    public MainPage()
    {
        InitializeComponent();

        this.pdfView = new IronPdfView { Options = IronPdfViewOptions.All };

        Content = this.pdfView;
    }
}
Imports IronPdf.Viewer.Maui

Public Class MainPage
	Inherits ContentPage

	Private ReadOnly pdfView As IronPdfView

	Public Sub New()
		InitializeComponent()

		Me.pdfView = New IronPdfView With {.Options = IronPdfViewOptions.All}

		Content = Me.pdfView
	End Sub
End Class
$vbLabelText   $csharpLabel
  1. 在您的 AppShell.xaml 文件中添加以下内容:
:path=/static-assets/pdf/tutorials/pdf-viewing/pdf-viewing-xaml-2.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Shell ...
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    ...>
  <TabBar x:Name="AppTabBar">
      <Tab Title="Home">
        <ShellContent ContentTemplate="{DataTemplate local:MainPage}" Route="MainPage"/>
      </Tab>
      <Tab Title="PDF Viewer">
        <ShellContent ContentTemplate="{DataTemplate local:PdfViewerPage}" Route="PDFViewer"/>
    </Tab>
  </TabBar>
</Shell>
XML
  1. 保存您的项目,然后构建并运行。 您应该会看到左上角的选项卡如下所示,单击"PDF Viewer"选项卡应打开IronPDF Viewer。

 IronPDF Viewer 默认

在启动时加载 PDF

在应用程序启动时,IronPDF Viewer 将默认提示用户打开 PDF。 它也可以在启动时自动打开 PDF。 您可以通过以下三种方式加载启动时的 PDF:通过文件名,通过字节数组,以及通过流。

通过文件名加载

要通过文件名加载PDF,可以在XAML文件中的IronPdfView标签中指定PDF文件的来源。下面展示了一个例子:

:path=/static-assets/pdf/tutorials/pdf-viewing/pdf-viewing-xaml-3.xml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage ...
    xmlns:ipv="clr-namespace:IronPdf.Viewer.Maui;assembly=IronPdf.Viewer.Maui"
    ...>
    <ipv:IronPdfView Source="C:/path/to/my/example.pdf" />
</ContentPage>
XML

IronPdfViewSource.FromFile

或者,也可以通过在C# LoadFromFilename()方法加载PDF文件:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-4.cs
// We assume an IronPdfView instance is created previously called pdfView
pdfView.Source = IronPdfViewSource.FromFile("C:/path/to/my/example.pdf");
' We assume an IronPdfView instance is created previously called pdfView
pdfView.Source = IronPdfViewSource.FromFile("C:/path/to/my/example.pdf")
$vbLabelText   $csharpLabel

IronPdfViewSource.FromBytes

通过字节数组加载

对于某些用例,可能希望加载一个 PDF 的字节数组。 这在 XAML 中是不可能的,但在 C# 中是可能的。 您可以简单地使用LoadFromByteArray()方法来实现这一点。 下面展示了如何使用此方法的示例:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-5.cs
pdfView.Source = IronPdfViewSource.FromBytes(File.ReadAllBytes("~/Downloads/example.pdf"));
pdfView.Source = IronPdfViewSource.FromBytes(File.ReadAllBytes("~/Downloads/example.pdf"))
$vbLabelText   $csharpLabel

IronPdfViewSource.FromStream

通过流加载

同样,在某些用例中,可能更希望通过流加载 PDF。 这在 XAML 中是不可能的,但在 C# 中是可能的。 您可以简单地使用LoadFromStream()方法来实现这一点。 下面展示了如何使用此方法的示例:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-6.cs
pdfView.Source = IronPdfViewSource.FromStream(File.OpenRead("~/Downloads/example.pdf"));
pdfView.Source = IronPdfViewSource.FromStream(File.OpenRead("~/Downloads/example.pdf"))
$vbLabelText   $csharpLabel

Option

Icon Quote related to 通过流加载

我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。

Milan Jovanovic related to 通过流加载

Milan Jovanovic

微软MVP

查看案例研究
Icon Quote related to 通过流加载

IronOCR 意味着我们每年可以节省 $40,000 的人工处理成本,同时提高生产力,并释放资源用于高影响任务。我强烈推荐它。

Brent Matzelle related to 通过流加载

Brent Matzelle

首席技术官,OPYN

查看案例研究
Icon Quote related to 通过流加载

Iron Suite 在我们的运营中起着至关重要的作用。这些工具提高了业务各方面的效率,包括创建平面图和改善库存管理。

David Jones related to 通过流加载

David Jones

首席软件工程师,Agorus Build

查看案例研究

配置工具栏

using IronPDF Viewer,您可以选择在工具栏中显示哪些选项。 可用选项包括:

  • 缩略图视图
  • 文件名展示
  • 文本搜索
  • 页码导航
  • 缩放
  • 适合宽度
  • 适合高度
  • 顺时针旋转
  • 逆时针旋转
  • 打开文件
  • 下载文件
  • 打印文件
  • 显示注释
  • 双页视图

默认情况下,IronPDF Viewer 将显示如下工具栏:

默认工具栏

在默认视图中,文件名显示、文本搜索和逆时针旋转选项都被禁用。 要显示所有内容,请将XAML中字All

:path=/static-assets/pdf/tutorials/pdf-viewing/pdf-viewing-xaml-4.xml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage ...
    xmlns:ipv="clr-namespace:IronPdf.Viewer.Maui;assembly=IronPdf.Viewer.Maui"
    ...>
    <ipv:IronPdfView x:Name="pdfView" Options="All"/>
</ContentPage>
XML

IronPdfView

或者,您也可以在 C# 中实现相同的功能:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-7.cs
pdfView.Options = IronPdfViewOptions.All;
pdfView.Options = IronPdfViewOptions.All
$vbLabelText   $csharpLabel

All

这样将会显示如下:

所有工具栏

如果您不想显示任何内容,请将选项设置为None。 如果ToolbarOptions设置为此值,工具栏将不会出现:

无工具栏

您可以选择希望显示哪些特定选项。 例如,如果您只想显示缩略图和打开文件选项,请修改XAML中ToolbarOptions参数,如下所示:

:path=/static-assets/pdf/tutorials/pdf-viewing/pdf-viewing-xaml-5.xml
<ipv:IronPdfView x:Name="pdfView" Options="Thumbs, Open"/>
XML

None

同样,在 C# 中:

:path=/static-assets/pdf/content-code-examples/tutorials/pdf-viewing-8.cs
pdfView.Options = IronPdfViewOptions.Thumbs | IronPdfViewOptions.Open;
pdfView.Options = IronPdfViewOptions.Thumbs Or IronPdfViewOptions.Open
$vbLabelText   $csharpLabel

Options

结论

在本教程中,我们学习了如何将 IronPDF Viewer 集成到 MAUI 应用程序中,并如何自定义其工具栏以最佳满足您的需求。

该查看器附带我们的 IronPDF 产品。 如果您想提出功能请求或对 IronPDF Viewer(或 IronPDF)有任何一般问题,请联系我们的支持团队。 我们将非常乐意为您提供帮助。

Options

IronPdfView

常见问题解答

如何在使用C#的MAUI应用程序中查看PDF?

要在使用C#的MAUI应用程序中查看PDF,可以集成IronPDF Viewer库。这涉及在Visual Studio中通过NuGet安装库,并在项目中进行配置以启用PDF查看功能。

在MAUI应用中集成PDF Viewer的过程是怎样的?

在MAUI应用中集成PDF Viewer需要使用NuGet包管理器安装IronPDF Viewer库,并在项目中使用MauiProgram.cs和XAML或C# ContentPage设置查看器以显示PDF。

IronPDF Viewer可以在MAUI项目的iOS和Android平台上使用吗?

目前,IronPDF Viewer设计用于不以iOS和Android平台为目标的MAUI项目。它最好用于面向桌面环境的项目。

如何在我的MAUI项目的应用程序启动时加载PDF文件?

在启动时加载PDF文件,使用IronPDF Viewer方法,如IronPDFViewSource.FromFileFromBytesFromStream

IronPDF Viewer的工具栏配置选项有哪些?

IronPDF Viewer的工具栏可以自定义,包括缩略图视图、文本搜索、页面导航、缩放、旋转和文件操作等选项。根据需求,可以设置为显示所有选项、不显示或仅显示特定工具。

如何自定义PDF Viewer工具栏以显示特定工具?

要自定义工具栏以显示特定工具,调整XAML或C#代码中的'Options'参数,仅包含所需选项,如'ThumbnailView,OpenFile'。

是否可以隐藏IronPDF Viewer的工具栏?

是的,可以通过将'Options'参数设置为'None'来隐藏工具栏,这会从查看器界面中移除工具栏。

如何解决MAUI应用程序中的PDF渲染问题?

如果在MAUI应用程序中遇到PDF渲染问题,请确保正确安装和配置了IronPDF库。此外,检查特定平台的限制或寻求IronPDF技术团队的支持。

在哪里可以找到将IronPDF Viewer集成到MAUI应用中的支持?

可以通过IronPDF的官方网站联系他们的支持团队,获取与将IronPDF Viewer集成到MAUI应用相关的任何帮助或功能请求。

IronPDF Viewer 是否完全兼容 .NET 10 项目?

是的。IronPDF 的所有主要产品线均支持 .NET 10,包括 MAUI 应用的 Viewer 组件。IronPDF Viewer 包兼容 net10.0-windows 和 net10.0-maccatalyst 等目标框架,使开发人员能够将 PDF 查看功能嵌入到基于 .NET 10 的桌面项目中,而无需任何变通方案。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,296,129 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。