简介
ecpl-pdf-viewer 是一个基于 PDF.js 的 React 组件,它可以用于在网页中展示 PDF 文件,并且支持缩放、翻页、搜索等功能。该组件是一个 npm 包,使用它可以很方便地在自己的项目中使用。
安装
使用 npm 安装 ecpl-pdf-viewer:
npm install ecpl-pdf-viewer
使用
引入组件
在代码中引入组件:
import PdfViewer from 'ecpl-pdf-viewer';
渲染 PDF 文件
使用 PdfViewer
组件可以渲染一个 PDF 文件:
function MyPdfViewer() { const pdfUrl = 'https://example.com/myfile.pdf'; return ( <PdfViewer pdfUrl={pdfUrl} /> ); }
支持的属性
PdfViewer
组件支持以下属性:
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
pdfUrl | String | 必填 | 要展示的 PDF 文件的 URL。 |
scale | Number/String | 1 | PDF 文件的缩放比例。 |
maxScale | Number | 3 | PDF 文件的最大缩放比例。 |
minScale | Number | 0.1 | PDF 文件的最小缩放比例。 |
onPageChange | Function | 页面变化时的回调函数。函数的参数是一个包含当前页码和 PDF 文件总页数的对象。 |
示例
以下示例展示了如何使用 PdfViewer
,并且通过 CSS 调整了其样式。这个示例会在网页中展示一个来自 Mozilla 的 PDF 文件,并且可以支持缩放和翻页。
-- -------------------- ---- ------- ------ ------ - -------- - ---- -------- ------ --------- ---- ------------------ -------- ------------- - ----- ------ - -------------------------------------------------------------------------- ----- ---------- ------------ - ---------- ----------- -- --------- - --- -------- ------------------ ----------- -------- -- - ------------- ----------- -------- --- - ------ - ---- -------- ------ ------ ------- -- ----- --- ---------- --------------- ------------------ ------------------------------- -------- ---------------- -------- ------------- --- -------- -- -- -- ---- -------- ---------- -- --- ------- ----------------------------- --- -- ----------- -- ------------- ----------- ------------------- - -- --------- ----------------- --- - --- --------- ------- ----------------------------- --- ------------------ ----------- -- ------------- ----------- ------------------- - -- --------- ----------------- --- - --- --------- ----- -------- ----------- -- --------------------------- - ----------------------------- ------ ------ -- -
总结
ecpl-pdf-viewer 是一个非常实用的 PDF 查看器组件,它可以帮助我们方便地在网页中展示 PDF 文件,并且支持多种功能。在使用 ecpl-pdf-viewer 时,我们需要注意一些属性的用法和样式的调整,但是总体来说,这是一个非常方便的 npm 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005664a81e8991b448e2660