word转pdf(第二篇第二种方法)

本人代码更新在了github上面,名字是:qingchunyibeifangzongle

- https://github.com/qingchunyibeifangzongle/word_to_pdf
参考文章

1.mac 安装java

java --version 查看java版本
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

2. 接下来安装 openoffice

1).brew install homebrew/cask/openoffice

openoffice 软件图片

2).启动命令(注意看下端口,防止跟你已经存在的端口冲突啊)
/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

3).查看进程
ps aux | grep soffice

3.安装 javaconverter(2.2.2版本,之前测试的这个可以用)

1).下载
	wget https://sourceforge.net/projects/jodconverter/files/latest/download

2).解压
	unzip jodconverter-2.2.2.zip

3).使用

	**注意 jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar 必须使用绝对路径**
	
	java -jar jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar {doc文档地址} {pdf文档地址}

4.PHP代码中操作命令行

$doc = '/Users/xxx/Desktop/开放平台额度扩展需求申请函.docx';
$pdf = '/Users/xxx/Desktop/开放平台额度扩展需求申请函4.pdf';


$size = filesize($doc);
$returnSize = trans_byte($size);
echo $returnSize; //文件大小

$set_charset = 'export LANG=en_US.UTF-8;';
$command = "java -jar ~/Downloads/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar {$doc}   {$pdf}";
$t1 = microtime(true);

//exec 参数说明
//  command 执行命令行
//  output  执行的结果
//  status  执行的状态
exec($set_charset . $command, $output, $return_var);

var_dump($set_charset . $command);
var_dump($output);
var_dump($return_var);

$t2 = microtime(true);
echo '耗时'.round($t2-$t1,3).'秒<br>'; //花了多少秒
echo 'Now memory_get_usage: ' . memory_get_usage() . '<br />'; //内存



function trans_byte($byte)

{

    $KB = 1024;

    $MB = 1024 * $KB;

    $GB = 1024 * $MB;

    $TB = 1024 * $GB;

    if ($byte < $KB) {

        return $byte . "B";

    } elseif ($byte < $MB) {

        return round($byte / $KB, 2) . "KB";

    } elseif ($byte < $GB) {

        return round($byte / $MB, 2) . "MB";

    } elseif ($byte < $TB) {

        return round($byte / $GB, 2) . "GB";

    } else {

        return round($byte / $TB, 2) . "TB";

    }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值