原文链接 [https://www.cnblogs.com/densen2014/p/16954812.html]
Blazor Pdf Reader PDF阅读器 组件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IChv1OZ2-1670428567016)(https://img.shields.io/nuget/v/BootstrapBlazor.PdfReader.svg?style=flat-square)]
应小伙伴要求撸了一个简单的PDF阅读器组件
####示例:
https://blazor.app1.es/pdfReaders
Tips:
Blazor 部署 pdf.js 不能正确显示中文资源解决办法
####使用方法:
1.nuget包
BootstrapBlazor.PdfReader
2._Imports.razor 文件 或者页面添加 添加组件库引用
@using BootstrapBlazor.Components
3.razor页面
<PdfReader PdfFile="https://densen.es/test/webdev/pdf/sample.pdf" />
<PdfReader UrlBase="https://blazor.app1.es/"
PdfFile="_content/DemoShared/sample.pdf" />
<PdfReader UrlBase="https://blazor.app1.es/"
PdfFile="_content/DemoShared/sample.pdf"
EnableStreamingMode="true"/>
<pre>跨域最佳体验</pre>
<PdfReader UrlBase="https://blazor.app1.es/"
PdfFile="_content/DemoShared/sample.pdf"
EnableStreamingMode="true"
ForcePDFJS="true" />
4.参数说明
参数 | 说明 | 默认值 |
---|---|---|
PdfStream | 用于渲染的文件流,为空则用URL参数读取文件 | |
PdfFile | PDF文件路径, https://xx.com/sample.pdf | null |
Func<string, Task>? OnInfo | 信息回调 | |
Func<string, Task>? OnError | 错误回调 | |
EnableStreamingMode | 使用流化模式,可跨域读取文件 | false |
UrlBase | PDF文件基础路径, (使用流化模式才需要设置), https://xx.com | |
Height | 高 | 700 |
Page | 指定页码,如果浏览器支持,将加载PDF并自动滚动到第n页 | 1 |
ForceIframe | 强制使用 Iframe | false |
ForcePDFJS | 强制使用 PDF.js | false |
PDFJS_URL | PDF.js 浏览器页面路径 | 内置 |
Search | *查询字符串 | |
View | *视图模式 | FitV |
Pagemode | *页面模式 | thumbs |
*表示PDF.js 专有
优先嵌入模式,不支持则回落倒pdf.js模式
跨域最佳体验: EnableStreamingMode=true , ForcePDFJS=true
项目源码
Github
知识共享许可协议
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名AlexChow(包含链接: https://github.com/densen2014 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系 。
AlexChow
今日头条 | 博客园 | 知乎 | Gitee | GitHub
Blazor 组件
条码扫描 ZXingBlazor
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82RJe3j0-1670428567030)(https://img.shields.io/nuget/v/ZXingBlazor.svg?style=flat-square)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p92L01fx-1670428567031)(https://img.shields.io/nuget/dt/ZXingBlazor.svg?style=flat-square)]
图片浏览器 Viewer
条码扫描 BarcodeScanner
手写签名 Handwritten
手写签名 SignaturePad
定位/持续定位 Geolocation
屏幕键盘 OnScreenKeyboard
百度地图 BaiduMap
谷歌地图 GoogleMap
蓝牙和打印 Bluetooth
PDF阅读器 PdfReader
文件系统访问 FileSystem
光学字符识别 OCR
电池信息/网络信息 WebAPI