当前位置: 首页 > news >正文

MAUI库推荐五:Maui.PDFView

项目介绍

用于在Android、iOS、MacOS和Windows平台显示PDF文件的库。

.NET MAUI .NET 9 .NET 10
Platform Android iOS MacOS Windows
支持

项目地址

https://github.com/vitalii-vov/Maui.PDFView

使用方法

1、安装

通过Nuget进行安装:

Install-Package Vitvov.Maui.PDFView

2、使用

MauiProgram中添加.UseMauiPdfView()

using Maui.PDFView;public static class MauiProgram
{public static MauiApp CreateMauiApp(){var builder = MauiApp.CreateBuilder();builder.UseMauiApp<App>().UseMauiPdfView();   // <- Write thisreturn builder.Build();}
}

在XMAL中添加PdfView

<ContentPagex:Class="Example.Business.UI.Pages.MainPage"xmlns="http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:pdf="clr-namespace:Maui.PDFView;assembly=Maui.PDFView"><!--IsHorizontal — display PDF horizontallyUri — path to the file on the deviceMaxZoom — max zoom levelPageIndex — set the current page by indexPageChangedCommand — event of changing the current page--><pdf:PdfViewIsHorizontal="{Binding IsHorizontal}"Uri="{Binding PdfSource}"MaxZoom="4"PageIndex="{Binding PageInex}"PageChangedCommand="{Binding PageChangedCommand}"></pdf:PdfView></ContentPage>

ViewModel中添加PsfSource

internal partial class MainPageViewModel : ObservableObject
{[ObservableProperty] private string? _pdfSource;[RelayCommand] private void ChangeUri(){try {//  See the example project to understand how to work with paths.PdfSource = "/path/to/file.pdf";//  You can set the Uri property to null to clear the component.//PdfSource = null;}catch(Exception ex){// handle exceptions}}
}

3、个性化

PdfView 组件仅支持文件路径。这是因为在原生平台组件主要通过文件路径进行操作,若在组件内注解处理不同PDF数据源将极大增加代码复杂度。

因此,无论你的PDF数据以何种形式呈现——无论是字节数组、流、资源、还是URL——你都必须始终提供文件路径。

为简化与这些数据源的交互,该组件提供了实现PdfSource接口的辅助类:

  • AssetPdfSource
  • ByteArrayPdfSource
  • FilePdfSource
  • HttpPdfSource

使用PdfSource的例子:

[RelayCommand] private async Task UploadUri()
{      var source = new HttpPdfSource("https://www.adobe.com/support/products/enterprise/knowledgecenter/media/c4611_sample_explain.pdf");PdfSource = await source.GetFilePathAsync();
}[RelayCommand] private async Task UploadAsset()
{var source = new AssetPdfSource("Example.Resources.PDF.pdf2.pdf");PdfSource = await source.GetFilePathAsync();
}

你还可以创建自己的IPdfSource接口实现来满足你的特定需求。

http://www.jsqmd.com/news/436717/

相关文章:

  • 2026北京液冷超充厂家推荐榜单:全液冷超充/浸没式液冷超充/大功率超充/超级充电站/超充设备/电动汽车超充,专业实力赋能新能源补能升级 - 海棠依旧大
  • 为什么要用深拷贝
  • 2026年3月端午礼品厂家最新推荐,节日礼盒定制实力供应商 - 品牌鉴赏师
  • 2026年3月苏州本地代理记账机构精选推荐:财务/财税代理记账选择指南,道之然财务打造优质服务标杆 - 海棠依旧大
  • 从AlphaZero原理到多智能体自主软件开发:理想蓝图与现实进路
  • 2026年山东真空泵厂家Top5推荐:不锈钢真空泵、水环真空泵、真空泵出口、真空负压泵站厂家选择专注实干型小厂优选榜单 - 海棠依旧大
  • JavaScript性能优化技术全面解析:从代码分割到内存管理
  • 2026别再熬夜做PPT啦!这些神器轻松搞定 - 品牌测评鉴赏家
  • 快速排序优化
  • 2026年3月北京工业设计公司推荐:产品、外观、结构、设备、仪器、机器人、产品外观设计公司,上品设计解锁创新新路径 - 海棠依旧大
  • 告别PPT制作噩梦!这些神器让你效率狂飙 - 品牌测评鉴赏家
  • 2026年桂林旅游旅公司最新推荐:桂林旅行、阳朔旅游、阳朔旅行、龙胜旅游、桂林自由行、桂林定制游、桂林私家团厂家选择指南 - 海棠依旧大
  • 2026年无锡搬家公司最新推荐:居民搬家、 钢琴搬运、鱼缸搬家、 长途搬家、 大件搬运、 设备搬迁、 仪器搬运、 日式搬家、 空调移机拆装公司选择指南 - 海棠依旧大
  • 52pj2026春节红包解题-安卓中级
  • 2026年3月塑料中空格子板片生产线厂家最新推荐,中空板材智能生产线 - 品牌鉴赏师
  • 2026山东碳化硼厂家优选推荐榜:碳化硼粉/高丰度碳化硼/碳化硼陶瓷/无压碳化硼/热压碳化硼/超细碳化硼/高纯碳化硼/碳化硼球/碳化硼喷嘴,华恩领衔品质突围 - 海棠依旧大
  • 厦门家长必看!小学自然拼读补习班大盘点 - 品牌测评鉴赏家
  • 2026年南京复印机出租优质服务商推荐榜:打印机租赁、复印机租赁、复印机销售、复印机租赁、打印机出租、会展复议出租厂家选择指南 - 海棠依旧大
  • 厦门家长必看!精选口才课机构大揭秘 - 品牌测评鉴赏家
  • 有实力的橡胶木生产厂家推荐 - 品牌推荐(官方)
  • 2026年成都知识产权交易服务平台推荐,精选5大优质电商平台解锁交易新体验 - 睿易优选
  • 2026年山东升降机厂家权威榜单:液压升降机、移动升降机、自行走升降机、升降平台、卸货平台、液压升降平台厂家选择安全高效适配多场景 - 海棠依旧大
  • 2026年山东真空泵厂家推荐榜:2BV真空泵、2BE真空泵、2BV水环式真空泵、2BE水环式真空泵厂家选择以技术实力筑牢工业真空根基 - 海棠依旧大
  • 解放双手!PPT生成工具大盘点,效率UPUP! - 品牌测评鉴赏家
  • 深度神经网络到AI大语言模型:一场被“误认为突然发生”的技巧演进
  • 防御式PHP代码,让代码“拒绝”出错
  • 大数据领域Kafka与实时数据处理的完美结合
  • 彼得林奇的“市场领导者“转型能力评估
  • Git 热修复流程
  • 厦门家长闭眼入!口才机构红榜出炉 - 品牌测评鉴赏家