搜索
鲸奇世界,弘创无限
与我们取得联系
请拨打电话或者扫描下方微信二维码联系我们。
24小时电话
188-2547-1709
微信 王经理
建站、SEO业务
微信 王经理
小程序、系统定制业务

鲸奇世界,弘创无限

PBOOTCMS如何嵌入PDF在线预览功能(手机端如何在线预览PDF文件)

鲸弘科技
2025-09-02
2 次

今天用户有需求,电脑端嵌入PDF在线浏览功能,站长就说下这个功能所遇到的坑,全当给大伙记个笔记。

当有这个需求的时候想到的就是最基础的<iframe>标签嵌套,然后设置<iframe>的宽度和高度值,开始没想那么多,忽略了手机端,所以造成了电脑端正常,手机端无法显示空白的问题,通过调整CSS,只实现了PDF第一页的显示,所以最终无果。


第二次尝试是通过CSS判断电脑端使用<Iframe>嵌入PDF,手机端判断显示一个<a>标签跳转PDF附件页,由于本人用的是苹果手机,所以实现了这个功能,但是忽略了用户是安卓机的问题,所以造成了苹果机正常,安卓机会跳转下载附件,无法直接打开,最终无果。


第三次尝试是修改百度编辑器JS增加PDF附件功能,最终修改后双端都无果。


第四次尝试也是最终尝试,通过PDF.JS插件配合html,再配合双端代码判断页面实现。


首先我把电脑端继续用<iframe>嵌套PDF实现效果,然后通过CSS判断电脑端隐藏<iframe>嵌套,手机端显示<a>标签,配合PDF.JS组件


*注:{content:ext_pdf}是我独立增加的附件字段


css判断代码

<style>
    
    .code-container {
  display: none; /* 默认在所有设备上隐藏代码容器 */
}

/* 在宽度小于768px的设备上显示代码容器(通常是手机和平板) */
@media screen and (max-width: 767px) {
  .code-container {
    display: block; /* 在小屏幕设备上显示代码容器 */
  }
  .code-container {margin:0 auto;width:80%;text-align:center;}  
  .code-container a{width:100%;text-align:center;line-height:40px;background:#656565;color:#fff;float:left}  
  
}
/* 你可以根据需要调整上面的max-width值,以适应不同的平板尺寸 */
    .pc_xianshi {
  display: block; /* 默认在所有设备上隐藏代码容器 */
}

/* 在宽度小于768px的设备上显示代码容器(通常是手机和平板) */
@media screen and (max-width: 767px) {
  .pc_xianshi {
    display: none; /* 在小屏幕设备上显示代码容器 */
  }
}

/* 你可以根据需要调整上面的max-width值,以适应不同的平板尺寸 */
</style>


html示例代码

{pboot:if('{content:ext_pdf}'!='')}

  <p class="pc_xianshi">
    <iframe src="{content:ext_pdf}" width="100%" height="1000px" ></iframe>
</p>

  <div class="code-container">
      
<script src="/pdf/build/build/pdf.js"></script>
<script src="/pdf/web/viewer.js"></script>

<a target="_blank" href="/pdf/web/viewer.html?file={content:ext_pdf}">在线预览PDF文件</a>

</div>

  {/pboot:if}


首先下载PDF.JS组件,在你的网站根目录创建一个PDF文件夹,上传并且解压到PDF这个目录里

1714816160d9a522.zip


image

然后在内容页引入PDF.JS组件


<script src="/pdf/build/build/pdf.js"></script>
<script src="/pdf/web/viewer.js"></script>

<a target="_blank" href="/pdf/web/viewer.html?file={content:ext_pdf}">在线预览PDF文件</a>


完美实现,具体效果如下


image


手机端:

image


image

当然这个组件也可以完美运行到其他CMS或者html里,站长参考文档如下

https://blog.csdn.net/judykang123/article/details/103305823



  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
复制成功

微信号:kaxiO_o

添加微信好友,免费获取方案及报价

我知道了
联系
扫码添加技术微信
1V1在线技术支持
联系电话
188-2547-1709建站、seo业务
电话若占线或未接到、就加下微信
联系邮箱
frank@vi23.com企业邮箱