zoukankan      html  css  js  c++  java
  • linux环境php将word转换成pdf

    原文地址:http://www.niu12.com/article/15

    ubuntu、java环境、openoffice、jodConverter、php

    1.安装java环境

    a. jdk下载(我选的是jdk-8u201-oth-JPRXXXjdk-8u201-linux-x64.tar.gz)

    b.将压缩包移到指定目录(自定义)

    $ sudo mv jdk-8u201-linux-x64.tar.gz  /usr/local/
    解压文件
    $ sudo tar -zxvf /usr/local/jdk-8u201-linux-x64.tar.gz
    

    c.配置java环境变量

    $ sudo vim /etc/profile
    
    #在文件的最后添加如下内容
    #Java Env
    export JAVA_HOME=/usr/local/jdk1.8.0_201
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    
    #生效环境变量
    $ source /etc/profile
    
    #测试java环境
    $ sudo java -version
    java version "1.8.0_201"
    Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
    

    2.安装openoffice

    a. OpenOffice(我选的是4.1.6)

    b.将压缩包移到指定目录(自定义)

    $ sudo mv Apache_OpenOffice_4.1.6_Linux_x86-64_install-deb_zh-CN.tar.gz  /usr/local/
    #解压文件
    $ sudo tar -zxvf /usr/local/Apache_OpenOffice_4.1.6_Linux_x86-64_install-deb_zh-CN.tar.gz
    #这个时候会生成zh-CN文件
    
    #重命名
    $ sudo mv ./zh-CN/ ./openOffice
    

    c.配置openoffice

    $ cd openOffice/DEBS/
    
    $ sudo dpkg -i *.deb
    
    $ cd desktop-integration/
    
    $ sudo dpkg -i openoffice4.1-debian-menus_4.1.6-9790_all.deb
    #这个时候openoffice安装在/opt/openoffice4
    

    3.安装jodConverter

    $ cd /opt 
    wget https://downloads.sourceforge.net/project/jodconverter/JODConverter/2.2.2/jodconverter-2.2.2.zip
    
    #解压
    $ unzip /opt/jodconverter-2.2.2.zip
    #进入目录
    cd /opt/jodconverter-2.2.2/lib
    

    4.加入中文字体,防止中文乱码

    #进入jdk字体目录
    $ cd /usr/local/jdk1.8.0_201/jre/lib/fonts/
    
    # 建立fallback目录
    $ mkdir fallback
    
    # 将中文字体msyh.ttf、msyhbd.ttf、simhei.ttf、simsun.ttc放到fallback目录下
    
    #将字体放到linux字体文件夹
    $ cp /usr/local/jdk1.8.0_201/jre/lib/fonts/fallback/*  /usr/share/fonts/
    $ cp /usr/local/jdk1.8.0_201/jre/lib/fonts/* /usr/share/fonts/
    
    #刷新字体缓存
    fc-cache
    

    5.启动openOffice

    $ soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
    

    6.测试

    #将tmp目录下的test.docx转换成test.pdf
    $ sudo java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar  /tmp/test.docx  /tmp/test.pdf
    

    7.关闭openoffice进程

    $ ps -ef|grep soffice
    $ kill -9 30415
    

    8.php调用

    #需要修改php.ini文件,因为使用了disable_function exec()
    #需要java的完全路径
    <?php
    $command = "sudo /usr/local/jdk1.8.0_201/bin/java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar  /tmp/test.docx  /tmp/test.pdf";
    // $return_var返回值0或1,如果返回0则执行成功,返回1则执行失败
    exec($command, $output, $return_var);
    if ($return_var != 0) {
        throw new Exception("生成PDF失败");
    }
  • 相关阅读:
    cocos2dx 3.4 截图代码
    cocos2dx android平台事件系统解析
    cocos2dx3.4 保存json文件
    cocos2dx3.4 解析json文件
    cocos2dx3.4 分割plist图片
    cocos2dx3.4 导出节点树到XML文件
    win7系统cocos2dx 3.4 绑定自定义类到Lua
    cocos2dx 3.3创建新项目 和 VS2012解决方案加载失败问题
    浅谈端口扫描
    PHP 通过.user.ini 绕过黑名单限制
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/10340838.html
Copyright © 2011-2022 走看看