Skip to content

PDF preview plugin for hydro-dev/Hydro, using PDF.js

License

Notifications You must be signed in to change notification settings

Ri-moe/hydro-pdf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hydro-pdf

PDF preview plugin for Hydro, using PDF.js.

Hydro 提供的 PDF 文件预览插件,使用 PDF.js 作为内核。提供浏览器无关的高性能增强 PDF 预览功能,并与原生 PDF 解析功能兼容。

安装

使用 Yarn 安装本插件,安装的版本应 >=1.0.1

对于全局安装 Hydro 的用户(如使用一键脚本):

yarn global add hydro-pdf-preview
hydrooj addon add hydro-pdf-preview

对于自定义安装 Hydro 的用户:

cd path/to/Hydro
yarn add hydro-pdf-preview
hydrooj addon add hydro-pdf-preview

其中 path/to/Hydro 改为 Hydro 的安装目录。

插件安装完毕后,需要重启 Hydro 来使配置生效。

使用 pm2:

pm2 restart hydrooj

使用

为了确保兼容性,hydro.pdf 不使用原生的 @[pdf](url) 语法,而是使用 @[hpdf](url) 语法,且支持使用 file:// 插入题目附加文件中的 PDF。例如:

附加文件:example.pdf

@[hpdf](file://example.pdf)

也可以直接用常规 URL 引入 PDF,但注意:如果跨域,需要正确配置 CORS,否则无法读取。例如:

@[hpdf](https://hydro.org.cn/d/uuccww/p/1/file/%E9%AD%94%E5%A5%B3BLOG%E5%88%9D%E4%B8%AD%E7%B4%9A%E6%97%A5%E9%BA%BB%E8%AC%9B%E5%BA%A7.pdf?noDisposition=on)

这个例子一般无法正常工作,除非你正在 hydro.org.cn 中进行尝试。这是因为 CORS Policy 阻止了不被允许的跨域请求。

配置

本插件提供 loadingPath 配置项,用于自定义资源加载来源,默认为 jsDelivr 源,留空将自动使用本地源。你也可以自定义其他加载源,但须注意你的加载源应该具有以下目录结构:

<自定义加载源>
├───cmaps
├───css
├───images
├───js
└───locale

自定义加载源的 URL 不必以 / 结尾。

About

PDF preview plugin for hydro-dev/Hydro, using PDF.js

Resources

License

Stars

Watchers

Forks