更新记录

1.0.3(2023-11-07)

新增转换次数套餐 新增激励视频获取次数 新增ios虚拟支付开关 转换页提示跳转获取次数 后台云端任务失败查询 任务重新提交 小程序的运程资源替换成本地

1.0.1(2023-10-06)

修复已知错误

1.0.0(2023-10-06)

PDF转换在线处理 无需对接api 对接微信流量主

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.1 × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

PDF转换助手

演示

演示站

当前代码仅为前端代码,需要后端代码添加开发者微信:xyswu666

技术栈

  • 后端: ThinkPHP8.0 , MySQL5.7,Redis
  • 前端: 移动端Uniapp, 后台Vue3 + Ts

环境要求

  • centos 7.8
  • PHP >= 8.0
  • MySql >= 5.7
  • Redis
  • Node > 16

安装

  1. 安装宝塔,按照宝塔官方教程安装即可

  2. 创建站点,同时创建数据库,删除站点下的全部四个文件

  3. 上传 提供的 代码 目录下的 api 文件夹里面的全部文件到你创建的站点根目录

  4. 点击宝塔网站的设置 --> SSL配置SSL证书,点击 目录 修改站点运行目录为 /public ,点击伪静态设置伪静态为 thinkphp

    注意:这里最好提前配置好SSL,安装程序会根据当前协议自动配置部分数据。

  5. 在宝塔的文件目录下,找到你的项目根目录,设置项目中的所有文件权限为 755 用户为www

  6. 在软件商店找到PHP8 -> 设置 -> 安装扩展, fileinfo、redis、imagemagick

  7. 在同级目录下,找到禁用函数。删除:putenv、proc_open,exec

  8. 修改PHP配置文件,加载 swoole_loader.so 扩展,

    将提供的 swoole_loader.so 文件上传至 /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/ 目录中

    在软件商店中找到 php8.0 -->设置 --> 配置文件,在最后一行 加入代码

    extension = swoole_loader.so

    然后在同级目录服务中重启php服务

  9. 检查是否安装 gs ,在终端执行 gs 命令,如果有输出 gs 内容,即已安装,如果没有内容,执行下面命令安装

    yum install -y ghostscript
  10. 安装pdftk,参考链接:https://www.mrpzx.com/Essay/news/eid/213.html

    • 安装依赖

      yum install -y gcc gcc-c++ libXrandr gtk2 libXtst libart_lgpl
    • 上传libgic 和 pdftk 文件到 /root 目录下,并执行以下命令

      rpm -ivh --nodeps libgcj-4.4.7-16.el6.x86_64.rpm
      
      yum install -y pdftk-2.02-1.el6.x86_64.rpm
    • 检查是否安装完成,输出显示版本号 pdftk 2.02 a Handy Tool 则表示安装完成

      pdftk --version
  11. 安装 libreoffice,参考链接:https://cloud.tencent.com/developer/article/1843968

    • 将提供的字体文件 SIMHEI.TTF 上传到服务器的 /usr/share/fonts/ 文件夹内

    • 移除本地 libreoffice 依赖

      yum remove -y libreoffice*
    • 下载 LibreOffice_7.6.1_Linux_x86-64_rpm.tar.gz 压缩包至 /root 目录并解压,依次执行下方命令

      cd /root
      
      wget https://mirrors.tencent.com/libreoffice/libreoffice/stable/7.6.1/rpm/x86_64/LibreOffice_7.6.1_Linux_x86-64_rpm.tar.gz
      
      tar -zxvf LibreOffice_7.6.1_Linux_x86-64_rpm.tar.gz
      
      cd /root/LibreOffice_7.6.1.2_Linux_x86-64_rpm/RPMS/
      
      yum localinstall -y *.rpm
      
      yum install libreoffice-writer -y
      
      rm -rf /usr/bin/libreoffice
      
      ln -s /usr/bin/libreoffice7.6 /usr/bin/libreoffice
    • 检查是否安装完成,输出版本号 LibreOffice 7.6.1.2 表示安装完成

      libreoffice --version
  12. 编译安装python3.11

    • 检查服务器当前python3版本,如果输出版本号小于 3.11,则按照下方

      python3 -V
    • 下载 Python-3.11.5.tar 压缩包到 /root,并解压

      cd /root 
      
      wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
      
      tar -xvf  Python-3.11.5.tar -C /usr/local/
    • 进入文件夹,配置环境,编译安装

      cd /usr/local/Python-3.11.5/
      
      ./configure --prefix=/usr/local/python
      
      make && make install
    • 删除原有软连接,并添加新软链到执行目录下/usr/bin

      # 删除原有的python3的软连接
      rm -rf /usr/bin/python3
      rm -rf /usr/bin/pip3
      
      # 添加新的python3.11 软连接
      ln -s /usr/local/python/bin/python3.11 /usr/bin/python3
      ln -s /usr/local/python/bin/pip3 /usr/bin/pip3
    • 执行 python3 -V 查看是否安装完成

  13. 安装 pdf2docx

    pip3 install pdf2docx

    如果这里安装报错:Warning:pip is configured with locations that require TLS/SSL

    这个错误是因为无法访问 https 导致的,这里需要修改配置文件,

    vim ~/.pip/pip.conf

    然后按 键盘的 i 进入编辑模式, 将 index-url= 这里的这个url地址中的 https 换成 http

    再按键盘 ESC, 输入 :wq 保存退出,重新执行 步骤12 的安装命令即可。如果有其他报错,可以联系客服

  14. 在宝塔的文件管理中找到并修改 /etc/ImageMagick-6/policy.xml 的策略配置,具体内容按照提供的policy.xml文件配置即可

定时任务和队列

  1. 定时任务:在宝塔左侧点击计划任务,添加计划任务

    任务类型:Shell脚本 任务名称:定时清理转换任务文件 执行周期:每天 1小时 30分钟 脚本内容:su -c "cd /项目根目录 && /www/server/php/80/bin/php think clear_files" -s /bin/sh www

    注意:上面的项目根目录换成自己的目录,如果你的宝塔中只有php8.0的环境,则无需指定php目录

    注意:如果上方清理程序执行无权限,则直接使用root权限执行命令即可

  2. 消息队列,建议使用,进程守护管理器,在宝塔软件商店搜索安装 进程守护管理器,添加如下守护进程

    名称:convert_file_job (注意:这里的名称只能是使用英文,避免不必要的麻烦) 启动用户:root 运行目录:你的项目根目录

    进程数量:2 (根据自己服务器配置可以适当调大)

    启动命令:php think queue:listen --queue=convert_file_job

    名称:send_email_job (注意:这里的名称只能是使用英文,避免不必要的麻烦) 启动用户:www 运行目录:你的项目根目录 启动命令:php think queue:listen --queue=send_email_job

后台配置

  1. 登录后台,找到系统配置--> 小程序配置,配置里面的小程序APPID 和 SECERT 参数,这是小程序用户登录的必要参数
  2. 在后台系统配置中,配置邮箱参数,这是将文件通过邮箱发送的必要参数,不配置或配置错误将导致无法发送邮件
  3. 广告配置参数请根据实际情况填写,这些 广告id 都是在微信小程序后台 流量主 --> 广告配置中获取

小程序配置

  1. 在提供的 mp-weixin文件下,找到 project.config.json 文件

    • 修改 appid 参数为自己的小程序 appid, 在微信小程序后台获取
    • 修改 projectname 参数为 自己小程序的 名称,不改也没关系
  2. 使用微信开发者工具打开 提供的 mp-weixin 文件

  3. 全局搜索 baseURL,将这里的域名替换成自己的域名,能成功加载首页内容即可

隐私、权限声明

1. 本插件需要申请的系统权限列表:

获取文件,相册 保存到相册

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问