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:\Windows\Fonts文件夹复制一份到其它盘,然后打包成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
PHP word PDF excel 文档互转 预览 (linux libreoffice)的更多相关文章
- 基于DevExpress实现对PDF、Word、Excel文档的预览及操作处理
http://www.cnblogs.com/wuhuacong/p/4175266.html 在一般的管理系统模块里面,越来越多的设计到一些常用文档的上传保存操作,其中如PDF.Word.Excel ...
- swagger2 导出离线Word/PDF/HTML文档
swagger2离线导出Word/PDF/HTML文档 1.前言 通过前面的两篇博客 我们已经介绍了如何使用spring boot整合swagger2 生成在线的API文档. 但是某些情况下,我们需要 ...
- Java实现office文档与pdf文档的在线预览功能
最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...
- word ppt excel文档转换成pdf
1.把word文档转换成pdf (1).添加引用 using Microsoft.Office.Interop.Word; 添加引用 (2).转换方法 /// <summary> /// ...
- libreoffice python 操作word及excel文档
1.开始.关闭libreoffice服务: 开始之前同步字体文件时间,是因为创建soffice服务时,服务会检查所需加载的文件的时间,如果其认为时间不符,则其可能会重新加载,耗时较长,因此需事先统一时 ...
- C#/VB.NET: 将Word或Excel文档转化为Text
Text文件只由纯文本内容组成,且没有格式,所以其大小比Word或Excel文件更小.除此之外,Text文件还具有跨平台性,几乎与所有应用程序都兼容.因此,在某些时候,我们可能需要将Word或Exce ...
- apache poi操作office文档----java在线预览txt、word、ppt、execel,pdf代码
在页面上显示各种文档中的内容.在servlet中的逻辑 word: BufferedInputStream bis = null; URL url = null; HttpURLConnectio ...
- php 如何写入、读取word,excel文档
如何在php写入.读取word文档 <? //如何在php写入.读取word文档 // 建立一个指向新COM组件的索引 $word = new COM("word.applicatio ...
- 使用NOPI读取Word、Excel文档内容
使用NOPI读取Excel的例子很多,读取Word的例子不多. Excel的解析方式有多中,可以使用ODBC查询,把Excel作为一个数据集对待.也可以使用文档结构模型的方式进行解析,即解析Workb ...
- 在线预览word,excel文档
Google Doc 示例:https://jsfiddle.net/7xr419yb/ Microsoft Office 示例:https://jsfiddle.net/gcuzq343/
随机推荐
- canvas实现手动绘制矩形
开场白 虽然在实际的开发中我们很少去绘制流程图 就算需要,我们也会通过第3方插件去实现 下面我们来简单实现流程图中很小的一部分 手动绘制矩形 绘制一个矩形的思路 我们这里绘制矩形 会使用到canvas ...
- 如何让你的C语言程序打印的log多一点色彩?(超级实用)
接着上一篇文章<由字节对齐引发的一场"血案" > 在平常的调试中,printf字体格式与颜色都是默认一致的. 如果可以根据log信息的重要程度,配以不同的颜色与格式,可 ...
- 解密Prompt系列36. Prompt结构化编写和最优化算法UNIPROMPT
上一章我们聊了标准化的Prompt生成方案DSPy,但DSPy还是更多依赖few-shot的Prompt编写范式,在纯任务描述型指令上的优化效果有限.这一章我们就重点关注描述性指令优化.我们先简单介绍 ...
- bazel 简介(一)—— 基础概念与原理
0x01 背景 bazel目前已广泛用于云计算领域的开源软件的构建如k8s.kubevirt等,本文以一个新手的角度分享下bazel的基础知识,其存在的价值.对比下,它与其他已经存在的构建系统的差别, ...
- [深度学习] 时间序列分析工具TSLiB库使用指北
TSLiB是一个为深度学习时间序列分析量身打造的开源仓库.它提供了多种深度时间序列模型的统一实现,方便研究人员评估现有模型或开发定制模型.TSLiB涵盖了长时预测(Long-term forecast ...
- 😶🌫️ SpringBoot中MongoDB的骚操作用法
不知道大家在工作项目中有没有使用MongoDB,在哪些场景中使用.MongoDB作为NoSQL数据库,不像SQL数据库那样,可以使用Mybatis框架. 如果需要在SpringBoot中使用Mongo ...
- 【YashanDB知识库】主备延迟故障分析方法
[标题]主备延迟故障分析方法 [问题分类]故障分析 [关键字]Yashandb.主备延迟 [问题描述]当数据库备机出现回放延迟时,需要通过一些手段分析延迟的原因.通过数据库的系统视图或操作系统监控数据 ...
- .NET 多版本 WinForm 开源控件库 SunnyUI
前言 给大家推荐一款开源的 Winform 控件库,可以帮助我们开发更加美观.漂亮的 WinForm 界面. 项目介绍 SunnyUI.NET 是一个基于 .NET Framework 4.0+..N ...
- ASP.NET Core – HttpClient
前言 以前写过的文章 Asp.net core 学习笔记 ( HttpClient ). 其实 HttpClient 内容是挺多的, 但是我自己用到的很少. 所以这篇记入一下自己用到的就好了. 参考 ...
- 基于 Session 实现短信登录
短信验证 一.基于Session 1.登录流程 1)发送验证码 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机号 如果手机号合法,后台此时生成对应的验证码,同时将验证码进 ...