网站首页

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

中文Lee 2021/11/17 8423人围观
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);

相关推荐

  • centos7 安装docker 并且配置mariadb

    第一步:安装docker:curl -sSL https://get.daocloud.io/docker | sh等待安装完成后运行一下命令:systemctl start docker (启动)dockersystemctl enable docker (开机启动)至此docker 安装完成第二...

  • centos7通过yum安装JDK1.8

    安装之前先检查一下系统有没有自带open-jdk命令:rpm -qa |grep javarpm -qa |grep jdkrpm -qa |grep gcj如果没有输入信息表示没有安装。如果安装可以使用rpm -qa | grep java |&n...

  • centos7 docker 安装配置nginx

    第一步:docker pull nginx第二步:宿主机文件映射Nginx里的配置访问页面目录位置 /data/nginx/html主配置文件nginx.conf位置 /data/nginx/nginx.confnginx.conf文件内容###################user  ...

  • docker 容器支持中文

    客户有个需求:将table内容转换成图片显示;后端语言采用java;使用组件 HtmlImageGenerator结果发现,windows下中文不乱码,但是用docker部署到linux就乱码了所以先尝试不使用docker,结果还是乱码,然后给服务器安装中文字体(安装方法自行百度),安装好...

  • java 生成缩略图 imageIO异常:Unsupported Image Type, 不支持图像类型【附解决办法】

    最近再做图片生成缩略图功能,发现大部分的图片都可以生成缩略图,但是偶尔有几个图片会报异常:Unsupported Image Type;几经折腾,发现报异常的图片格式为CMYK 格式,我们常见的图片格式都是RGB格式的,所以我们要把CMYK格式的图片转换成RGB格式的,网上有些办法转化后图片颜色会丢...

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

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

  • 常用PHP框架有哪些?[PHP框架排行TOP7]

    PHP是一种国内外流行的开源服务器端脚本开发语言。能适应大、中、小型项目的发展需要。PHP框架的真正开发始于PHP5。事实上,PHP4时代也有一些框架,但是由于使用的复杂性,没有一个纯粹的PHP易于使用,所以在PHP5才有很大的发展。随着PHP5面向对象功能的实现。基PHP的产品越来越多。在PHP开...

  • php7下安装event扩展

    一·、安装支持库libevent,需要编译高版本(这里以最新版本release-2.1.8-stable为例)1. wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent...