在文章中预览pdf文件

版本情况:

  • halo 1.5.3

  • joe 2.0

  • pdf附件位置:腾讯云对象存储

主题仓库:https://github.com/qinhua/halo-theme-joe2.0

该主题已集成 PDF.js,可以渲染 pdf 文件,只需要在编辑文章时使用 joe-pdf 标签插入即可(切记前后要空一行),它接受如下属性:

  • src:PDF 文件地址(必传),不要过长,且不能包含 &、? 等特殊字符

  • width:阅读器宽度,默认为 100%

  • height:阅读器高度,默认 500px

<joe-pdf src="https://xxx.pdf" width="100%" height="500px"></joe-pdf>

使用这个标签可能会出现跨域问题,我用的是腾讯云对象存储。

解决方法

使用这个标签出现的跨域问题,需要存储pdf的位置支持跨域,例如我在腾讯云对象存储存放的该pdf文件。

我需要进入腾讯云对象存储列表管理中,添加跨域规则。以本站为例:

image-1653622529224

这样就可解决跨域问题。