网站首页

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

中文Lee 2021/11/17 8224人围观
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通过yum安装JDK1.8

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

  • 如何安装php7的event扩展

    最近api系统遇到了高并发的瓶颈,想通过workerman重构。在看workerman文档时发现这么一句话:Event扩展不是必须的,当业务需要支撑上万并发连接时,推荐安装Event,能够支持巨大的并发连接。如果业务并发连接比较低,例如1000并发连接,则可以不用安装。如果无法安装Event扩展,可...

  • centos7/linux 服务器 添加新硬盘并挂载

    一、查看现有磁盘设备  fdisk -l  发现/dev/sdb 为新加的硬盘;二、开始分区  fdisk /dev/sdb  fdisk -l    #再次查看分区情况,已经有了/dev/sdb1三、创建文件系统,并格式化  mkfs.ext4 /dev/sdb1四、将新分区挂在到文件系统  mk...

  • 11个代码质量审核和管理工具,程序员收藏

    如今,代码质量分析和审核已成为每个企业的基本流程。随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要。不良的代码不仅会影响代码的可维护性,而且还会在某些情况下影响其性能。此外,更好的代码质量还有助于企业将来减少维护和降低成本。幸运的是,有很多审核和管理代码的工具,为开发者和程序员提...

  • 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...

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

    php读取docx页码比较难操作,并且读取doc格式的页码数更难搞了,所以先将doc/docx/pptx/ppt 先转换为pdf,然后通过pdf读取页码就比较精确了一、libreoffice安装1、yum search  libreoffice查询一下系统自带的安装包安装libreoffi...

  • docker 容器支持中文

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

  • centos7 安装docker 并且配置mariadb

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