Blazor组件自做十二 : Blazor Pdf Reader PDF阅读器 组件(更新)

发布时间 2023-03-22 19:05:42作者: AlexChow

已发布新版 [https://www.cnblogs.com/densen2014/p/16991019.html]

原文链接 [https://www.cnblogs.com/densen2014/p/16954812.html]

Blazor Pdf Reader PDF阅读器 组件 nuget

应小伙伴要求撸了一个简单的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

image


Blazor 组件

条码扫描 ZXingBlazor
nuget
stats

图片浏览器 Viewer

条码扫描 BarcodeScanner

手写签名 Handwritten

手写签名 SignaturePad

定位/持续定位 Geolocation

屏幕键盘 OnScreenKeyboard

百度地图 BaiduMap

谷歌地图 GoogleMap

蓝牙和打印 Bluetooth

PDF阅读器 PdfReader

文件系统访问 FileSystem

光学字符识别 OCR

电池信息/网络信息 WebAPI