zoukankan      html  css  js  c++  java
  • PHP word PDF excel 文档互转 预览 (linux libreoffice)

    1--卸载系统当前的libreoffice

    执行如下命令:
    yum remove libreoffice-*

    2--为了能使用镜像,在etc  目录之下的hosts文件内加入代理。

         注意没有加的话,可能第三步无法操作.

    .208.46.146 www.google.com
    .208.46.146 dl.google.com
    .208.46.146 dl-ssl.google.com


    3--获取rpm文件
    http://mirrors.ustc.edu.cn/tdf/libreoffice/stable
    选择6.3
    然后选择rpm
    然后选择x86_64
    http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/6.3/rpm/x86_64/

    4--下载3个文件
    LibreOffice_6.3_Linux_x86-64_rpm.tar.gz
    LibreOffice_6.3_Linux_x86-64_rpm_sdk.tar.gz
    LibreOffice_6.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz


    5--解压文件,执行如下命令
    mkdir /usr/libreoffice
    tar -zxvf LibreOffice_6.3_Linux_x86-64_rpm.tar.gz -C /usr/libreoffice/
    tar -zxvf LibreOffice_6.3_Linux_x86-64_rpm_sdk.tar.gz -C /usr/libreoffice/

    tar -zxvf  LibreOffice_6.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz   -C /usr/libreoffice/


    6--进入到的RPMS目录
    上面两个文件解压之后,/usr/libreoffice/下面会有3个文件夹,里面都有一个RPMS文件夹

    LibreOffice_6.3_Linux_x86-64_rpm
    LibreOffice_6.3_Linux_x86-64_rpm_sdk

    LibreOffice_6.3_Linux_x86-64_rpm_langpack_zh-CN


    #进入到LibreOffice_6.3_Linux_x86-64_rpm的rpm ,执行入下命令
    cd /usr/libreoffice/LibreOffice_6.3_Linux_x86-64_rpm/RPMS

    7--#用yum来进行rpm的安装,不要用rpm命令来进行安装

    yum localinstall *.rpm

    【注意:

    因为有 依赖关系 libgnomevfs-2.so.0()(64bit),它被软件包 libobasis5.0-gnome-integration-6.3-2.x86_64 需要

    所以不要使用rpm命令来进行安装, rpm  -ivh  *.rpm  命令无法解决上面的依赖系。使用yum遇到上面的依赖关系的时候可以从网络

    下载相应的包来解决依赖关系。

    到此为止office成功安装了.


    8--但是我们安装默认是英文版的,所以进行汉化.
    这个时候使用这个LibreOffice_6.3_Linux_x86-64_rpm_langpack_zh-CN.tar.gz

    进入到LibreOffice_6.3_Linux_x86-64_rpm_langpack_zh-CN 文件夹,然后

    #执行如下命令

    yum localinstall *.rpm


    打开office之后发现汉化了

    运行时报错但是不影响运行  缺少了一些依赖

    /opt/libreoffice6.2/program/soffice.bin: /lib64/libdbus-1.so.3: no version information available (required by /opt/libreoffice6.2/program/libmergedlo.so)

    加上去就好了 yum install libreoffice

    下载pdf回到本地打开发现中文乱码,这是因为缺少中文字体支付所致,所以先把 c:WindowsFonts文件夹复制一份到其它盘,然后打包成Fonts.zip,通过rz Fonts.zip 将压缩包传到服务器上面。

    [root@instance-32spzihn /]# cd /usr/share/fonts
    [root@instance-32spzihn fonts]# rz
    [root@instance-32spzihn fonts]# unzip Fonts.zip
    [root@instance-32spzihn fonts]# mv Fonts win
    [root@instance-32spzihn fonts]# cd win
    [root@instance-32spzihn win]# chmod -Rf 755 *
    [root@instance-32spzihn win]# mkfontscale
    [root@instance-32spzihn win]# mkfontdir
    [root@instance-32spzihn win]# fc-cache –fv

    若没有生效可以试下重启服务器,再重新执行转换命令就可以了。
    完成对文件转换后,那接下来就要将此功能加入项目开发上面,当前需要加入到一个php项目:

    $cmd = '/usr/bin/libreoffice --invisible --convert-to pdf zzz.docx';
    if (function_exists('exec')){
    @exec($cmd, $output, $retval);
    }
    
    if ($retval > 0){
    exit('process_failed');

    关于LibreOffice介绍一下:

    LibreOffice 能够与 Microsoft Office 系列以及其它开源办公软件深度兼容,且支持的文档格式相当全面

    1、文本文档:*.odm, *.sgl, *.odt,*.ott, *.sxw, *.stw, *.fodt, *.xml, *.docx,*.docm, *.dotx, *.dotm, *.doc, *.dot, *.wps, *.pdb, *.hwp, *.html, *.htm, *.lwp, *.psw, *.rft, *.sdw, *.vor, *.txt, *.wpd ,*.oth.

    2、电子表格:*.ods, *.ots, *.sxc, *.stc, *.fods, *.xml, *.xlsx, *.xlsm, *.xltm, *.xltx, *.xlsb, *.xls, *.xlc, *.xlm, *.xlw, *.xlk, *.sdc, *.vor, *.dif,*.wk1, *.wks, *.123, *.pxl, *.wb2, *.csv.

    3、演示文稿:*.odp, *.otp, *.sti, *.sxd, *.fodp, *.xml, *.pptx, *.pptm, *.ppsx, *.potm, *.potx, *.ppt, *.pps, *.pot, *.sdd, *.vor, *.sdp.

    4、绘图:*.odg, *.otg, *.sxd, *.std, *.sgv,*.sda, *.vor, *.sdd, *.cdr, *.svg, *.vsd, *.vst

    5、网页:*.html, *.htm, *.stw

    6、主控文档:*.sxg

    7、公式:*.odf, *.sxm, *.smf, *.mml

    8、数据库文档:*. odb

  • 相关阅读:
    11.json
    10.正则表达式
    9.面向对象、类
    bzoj 2878: [Noi2012]迷失游乐园
    bzoj 2727: [HNOI2012]双十字
    bzoj 3224: Tyvj 1728 普通平衡树
    bzoj 3932: [CQOI2015]任务查询系统
    bzoj 1997: [Hnoi2010]Planar
    4 Django简介
    3 web框架
  • 原文地址:https://www.cnblogs.com/liuxd/p/13307469.html
Copyright © 2011-2022 走看看