PDF文件助手小程序安装教程,本地转换+云端转换

177 阅读5分钟

插件地址

点击前往uniapp获取前端

演示

演示站

技术栈

  • 后端: 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,参考链接:www.mrpzx.com/Essay/news/…

  • 安装依赖

    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
    
  1. 安装 libreoffice,参考链接:cloud.tencent.com/developer/a…
  • 将提供的字体文件 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
    
  1. 编译安装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 查看是否安装完成

  1. 安装 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 的安装命令即可。如果有其他报错,可以联系客服

  2. 在宝塔的文件管理中找到并修改 /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,将这里的域名替换成自己的域名,能成功加载首页内容即可