Linux平台中使用PHP把word转pdf的实现方法

1、ubantu下安装libreoffice

sudo apt-get install libreoffice

2、命令行执行word转pdf

将 /home/wordToPdf/wordFiles/目录下的CAS.docx转成pdf存放到 /home/wordToPdf/pdfFiles 目录下:

libreoffice --headless --convert-to pdf:writer_pdf_Export /home/wordToPdf/wordFiles/CAS.docx --outdir /home/wordToPdf/pdfFiles /usr/share/fonts 下放中文字体fc-cache-fv 更新字体缓存

在php中执行的代码

$a="./doc/2.doc";$b="./pdf";//$str ="libreoffice --headless --convert-to pdf:writer_pdf_Export ./doc/2.doc --outdir ./pdf";//$str ="ls "."./";$str = "export HOME=/tmp && libreoffice --headless -convert-to pdf /var/www/html/doc/2.doc -outdir /var/www/html/pdf";var_dump(system($str));

在linux中使用php将word文档转为pdf

使用本教程需要在linux中安装openoffice,改页面中有详细的安装与使用教程(linux平台的office文档转pdf的实例(程序员的菜))。

既然,你看了该教程就应该不能否认linux的权限的确很坑人。而用php将word文档转pdf文档,更是需要一大堆权限设置。因此,在这里我就给php用到有关目录和文件都给予了777权限。

从该文中(linux平台的office文档转pdf的实例(程序员的菜))可以很清楚的知道重点代码:(如下)

java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar    /tmp/1.doc    /tmp/1.pdf

从以上代码中可知,php要用到java命令的执行权限,需要/tmp的读写权限。

查看java命令的位置:which java

假设java命令的位置为:/bin/java

要给java设置777的权限:chmod 777 /bin/java

给/tmp文件夹及以下的文件设置权限: chmod -R 777 /tmp

设置好权限后。即可使用php的exec函数运行该段代码:java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar    /tmp/1.doc    /tmp/1.pdf

以上这篇Linux平台中使用PHP把word转pdf的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持网页设计。

java word转pdf linux_Linux平台中使用PHP把word转pdf的实现方法相关推荐

  1. php word转pdf linux,Linux平台中使用PHP把word转pdf的实现方法

    Linux平台中使用PHP把word转pdf的实现方法 1.ubantu下安装libreofficesudo apt-get install libreoffice 2.命令行执行word转pdf 将 ...

  2. java代码二进制转为十六进制_Java 中二进制转换成十六进制的两种实现方法

    Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static Stri ...

  3. android读取带公章的pdf文件,APP中如何显示带电子签名的PDF文件

    之前碰到一个需求,需要在手机 APP 中显示 pdf 文件.经过调研发现,在电脑上的浏览器如 chrome.safari等,可以直接显示 pdf 文件.由此联想到,在 APP 中能否通过浏览器来加载显 ...

  4. Linux平台中使用PHP让word转pdf

    1.ubantu下安装libreoffice sudo apt-get install libreoffice 2.命令行执行word转pdf 将 /home/wordToPdf/wordFiles/ ...

  5. java线程开启不了_Java中多线程启动,为什么调用的是start方法,而不是run方法?...

    前言 大年初二,大家新年快乐,我又开始码字了.写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的ide ...

  6. java io 文件路径格式_java中iofile的路径问题,确定一个未知方法所需要的文件路径...

    今天遇到一个极其烦躁的问题,一个jar包中的一个方法,要求函数中要求传入一个String类型的参数,用于指示文件所在的路径.但是对于我们来说完全不知道他需要的路径是绝对路径还是相对路径,所以我尝试了很 ...

  7. java android消息推送_Android中使用socket通信实现消息推送的方法详解

    原理最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理: ...

  8. java gui怎么做游戏_Java中关于GUI实现贪吃蛇游戏的简单方法

    这篇文章主要介绍了Java GUI编程之贪吃蛇游戏简单实现方法,详细分析了贪吃蛇游戏的具体实现步骤与相关注意事项,并附带demo源码供读者下载参考,需要的朋友可以参考下 本文实例讲述了Java GUI ...

  9. php word权限设置密码,在php中加密和解密word docx文件的问题

    我试图使用php mcrypt TripleDES为docx格式文件加密. 当我试图解密文件时,我得到如下错误. The Office Open XML file file_name cannot b ...

最新文章

  1. Cygwin的安装及在Android jni中的简单使用举例
  2. 放弃安卓原生TimePicker,选择wheelView打造更漂亮的时间get,以及动态拉伸输入框布局,这些,这里都有!...
  3. 2月国内操作系统市场份额:Windows XP持续下降
  4. html5中如何去掉input type date默认
  5. java定义一个方法,返回一个浮点数保留两位小数,考虑四舍五入的结果
  6. 连续七天熬夜3D建模师终于出手,让老板增加薪资待遇,3D建模初学者的4个技巧
  7. shell脚本执行冲突事件-sshwhile
  8. python网盘系统_Python最新全套视频教程百度网盘资源
  9. minio 文件预览_Minio使用说明
  10. 7-8 评委打分 (5 分)
  11. 关于TIME_WAIT重用与RFC1337
  12. Mac Book Pro Catalina不能打开软件,提示检查为恶意软件
  13. matlab中的pzmap的意思,Matlab 学习
  14. 港科夜闻|香港科技大学(广州)(筹)校长倪明选教授在北京拜访国家教育部党组书记、部长怀进鹏...
  15. 模糊控制-模糊性知识的表示问题
  16. 从0开始入门学习Swift 01
  17. 制作HTML长图的APP,长图制作工具 显示只是一张图片,点开一看却发现有很多张图片|制作长图软件...
  18. 编程java摇号购房,用java编写摇号器
  19. SYSLOG与SNMP对比
  20. 一加3t刷机后还卡_一加OnePlus 3T官方固件刷机教程_线刷|救砖教程图解

热门文章

  1. HDU 4812 D Tree
  2. 【CentOS 7LAMP架构4】,PHP5和PHP7的安装和配置#171219
  3. LCD显示屏原理与应用
  4. objective-C CollectionView 加深(添加注册头部View)
  5. Struts里面的配置笔记
  6. Centos下lnmp编译安装详细过程
  7. Android中已经添加权限,依然提示缺少权限,此时你需要添加动态权限
  8. java 顺序栈_Java实现顺序栈
  9. SQLplus 和mysql区别_mysql和oracle的区别有哪些
  10. Oracle视图添加约束,Oracle创建视图的语法