网站首页

centos上libreoffice+unoconv安装步骤,实现word转pdf(可以php读取pdf页码)

中文Lee 2021/11/17 8416人围观
PHP   linux  

php读取docx页码比较难操作,并且读取doc格式的页码数更难搞了,

所以先将doc/docx/pptx/ppt 先转换为pdf,然后通过pdf读取页码就比较精确了

一、libreoffice安装

1、yum search  libreoffice查询一下系统自带的安装包

安装libreoffice.x86_64这个就可以了
 
2、yum install libreoffice.x86_64   执行安装
 
3、启动进程: 切换目录至: /usr/lib64/libreoffice/program/
       执行:soffice --accept="socket,host=127.0.0.1,port=8100;urp;"-display :1&
如果报下面错误:

首先确认一下是否安装了:xorg-x11-server_Xvfb.x86_64,如果没有先安装一下,
 如果已安装xorg-x11-server_Xvfb.x86_64,则执行一下:export DISPLAY=:1看问题是否能够解决
 
 
二、unoconv安装
 

1、http://pkgs.repoforge.org/unoconv/在这里下载适合你自己系统的unoconv安装包,我下载的是unoconv-0.5-1.el6.rf.noarch.rpm ,如果以上链接不可用可以在http://rpmfind.net/linux/RPM/dag/redhat/el6/i386/unoconv-0.5-1.el6.rf.noarch.html上下载

或者点击下载unoconv-0.5-1.el6.rf.noarch.rpm

 
2、yum install unoconv-0.5-1.el6.rf.noarch.rpm 进行安装
 
三、执行转换
 
unoconv -f pdf -o /data/wwwroot/1.pdf /data/wwwroot/1.docx
 
如果转换中报下面错误:

则需要使用dbus-uuidgen >/usr/var/lib/dbus/machine-id
产生这个machine-id文件
 


通过php方法调用以上命令即可,例如:

        $cmd_body = "/usr/bin/unoconv -f pdf -o {$pdfPath} {$path}";

        $cmd_head = "su --login root --command";

        $rootpasswd = "服务器密码";

        $cmd_full = \sprintf("%s \"%s\"", $cmd_head, $cmd_body);

        $fp = \popen($cmd_full, "w");

        \fputs($fp, $rootpasswd);

        \pclose($fp);


也可以使用php 中的 exec去执行!



php去取 pdf 页码

$pdftext = file_get_contents(APP_PATH . "public/tmp/2.pdf");

$num = preg_match_all("/\/Page\W/", $pdftext, $dummy);

相关推荐

  • [LuPHP] PHPMVC精简框架第一讲(基本MVC框架配置)

    LuPHP是一个精简版的PHPMVC框架,该框架经历了N个高可用系统的测验(数据存储量千万级别,并发1000),该框架结合了市面上流行的PHP框架,去除了臃肿的代码;本框架遵循即用即写的原则,做到项目中绝不存在多余(实际根本用不上)代码!该框架作者历经10年以上项目研发经验,总结并写出一套适合自己的...

  • JAVA 前后端分离jwt 工具类

    package com.lup.util;import com.auth0.jwt.JWT;import com.auth0.jwt.algorithms.Algorithm;import com.auth0.jwt.interfaces.DecodedJWT;import com.auth0.jw...

  • centos7 docker安装openjdk并运行jar包

    第一步:docker pull openjdk第二步:创建一个java_app的数据卷 docker volume create java_app第三步:将jar包上传到/var/lib/docker/volumes/java_app/_data/下,然后启动镜像第四步:启动docker ...

  • .htaccess文件设置某目录下所有文件禁止访问

    如网站,有些目录下的文件不允许被下载则需要设置.htaccess文件为了减少服务器压力:应将apache配置文件<Directory />    AllowOverride All</Directory> 最好修改成指定目录: <...

  • 一款超级好用的驾校预约系统-公众号预约系统【驾校预约系统】

    “驾校教练微信预约系统”可用于“驾校微信预约系统”、“教练微信预约系统”,其主要预约对象是学车学员,学员可依据教练信息、自身空闲时间合理选择预约时间,及时掌握学车学时。本系统一共包含三个端(学员端/教练端/管理端):1、学员在线预约教练(可单笔支付,可购买课时);2、教练收到预约推送,教练可以自由开...

  • CentOS下php安装imagick扩展

    1、安装ImageMagic[root@localhost download]# wget http://www.imagemagick.org/download/ImageMagick.tar.gz[root@localhost download]# tar -xzvf ImageMagick[r...

  • 编程语言排行榜2019年12月 TIOBE编程语言排行榜2019年最新版

     TIOBE已经公布了编程语言排行榜2019年12月的数据,编程语言12月的排名有了新的变化,Java比C的指数高了2%,与上个月的0.2%相比,前进很多,Python继续占领第三名,下面一起来看看2019年12月编程语言排行榜。  2019年12月编程语言排行榜看点:  首先,Java比上个月的指...

  • Linux内核调优(大并发场景下)

    为了让系统能够支持更大的并发,除了必须安装event扩展(或libevent扩展)之外,优化linux内核也是重中之重,以下优化每一项都非常非常重要,请务必按逐一完成。打开文件 /etc/sysctl.conf,增加以下设置#该参数设置系统的TIME_WAIT的数量,如果超过默认值则会被立即清除 ...