怎么基于PHP实现微信小程序pdf文件的预览功能

发布时间:2022-08-27 11:03:16 作者:iii
来源:亿速云 阅读:143

这篇文章主要介绍“怎么基于PHP实现微信小程序pdf文件的预览功能”,在日常操作中,相信很多人在怎么基于PHP实现微信小程序pdf文件的预览功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么基于PHP实现微信小程序pdf文件的预览功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

问题描述

前段时间文库类微信小程序开发中遇到个问题,就是要在小程序中预览阿里云OSS中的pdf文件。微信官方给的方案就一个,就是把文档缓存到本地然后用资源管理器打开。

怎么基于PHP实现微信小程序pdf文件的预览功能

这样写问题很明显,pdf文件小的话还可以,当pdf文件很大的时候,加载速度就会很慢。而且我只是需要预览单纯的前几页而已,也要把所有的文档缓存下来,在文件资源管理器中打开。体验非常不好。

探索过程

实现思路

将要预览的pdf文件的链接,跟要预览的页数传递给后端。后端根据传递的参数去解析pdf文件,并把需要的那一页返回为图片即可。

最终效果

怎么基于PHP实现微信小程序pdf文件的预览功能

通过参数p指定相应的页数以后,左边就能显示出相对应页数的图片了。

实现步骤

wget https://netix.dl.sourceforge.net/project/imagemagick/im7-src/ImageMagick-7.0.7-25.tar.gz
tar -zxvf ImageMagick-7.0.7-25.tar.gz
cd ImageMagick-7.0.7-25
./configure
make && make install

五条命令分别对应的操作为:下载 解压 打开目录 配置 编译安装

怎么基于PHP实现微信小程序pdf文件的预览功能

还可以进行编译安装,这里就暂且省略咯。

wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925/ghostscript-9.25.tar.gz
tar zxvf ghostscript-9.25.tar.gz
cd ghostscript-9.25
./configure --prefix=/usr
make && make install

五条命令分别对应的操作为:下载 解压 打开目录 配置 编译安装

echo "/usr/local/lib" >> /etc/ld.so.conf 
ldconfig
<?php
try{
    $url = !empty($_GET['url']) ? $_GET['url'] : die('error');
    $page = isset($_GET['p']) ? $_GET['p']-1 : '0';
    $file_name = 'temp_' . mt_rand(1000,9999) . 'pdf';
    file_put_contents( './'.$file_name,file_get_contents($url));
    $imagePreview = new imagick('./'. $file_name . '['.$page.']');
    $imagePreview->setImageFormat( "jpg" );
    // $imagePreview->setResolution( 900, 900 );
    header( "Content-Type: image/jpeg" );
    echo $imagePreview;
    unlink('./'. $file_name);
}catch(\Exception $e){
    echo '发生错误';
}

注意:pdf文件的路径可以是自己服务器的,也可以自己调整。

到此,关于“怎么基于PHP实现微信小程序pdf文件的预览功能”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 微信小程序怎么实现图片选择并预览功能
  2. 怎么在微信小程序中实现预览图片功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php 微信小程序

上一篇:JS怎么利用循环解决的一些常见问题

下一篇:JavaScript之怎么手写asyncAdd方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》