Linux下使用php实现office转PDF

简介: Linux下使用php实现office转PDF

原理:基于已安装的openOffice和jodconverter-2.2.2,PHP调用外部命令使用jodconverter-2.2.2完成文档转换

openoffice和jodconverter-2.2.2的安装并实现office转换可以参考CentOS 下安装openOffice,并在Linux上实现office转PDF

配置权限


因为Linux权限问题,在使用PHP执行该命令时会出现权限问题,因此需要给java所在目录和文件转换前后所在目录添加777权限

找到java位置,并进入其所在目录:

image.png

执行(chmod -R 777 java)赋予java目录读写权限:

image.png

image.png

同样给转换前后目录赋予读写权限,在这里都是/tmp目录(根据你自己的文件存放目录设置):

image.png

实现转换


首先要修改php的配置文件,因为默认情况下php会将shell_exec()这个功能禁用了,所以需要手动打开;忽略这一步会造成php 报错:shell_exec() has been disabled for security reasons

找到php.ini配置文件所在后使用vi或者vim打开,vi/vim中搜索字符串,直接输入:/+需要查找字符串,就可以了(/disable_functions搜索disable_functions),然后将对应方法删除,重启服务即可

image.png

在PHP中使用shell_exec()来执行转换命令:

image.png

执行,没有输出(原因是shell_exec()函数没有返回值):

image.png

在目录中查看,文件已经转换成功:

image.png

至此,PHP实现office转pdf便已经实现。

目录
相关文章
|
10月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
489 17
|
10月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
319 6
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
439 2
|
Linux 程序员 Python
python-office支持Mac和Linux吗?自动化办公用这个就够了
大家好,我是程序员晚枫。今天解答关于`python-office`是否支持Mac和Linux的问题。起初因需调用Office功能,该项目不完全支持这两个系统。现已通过拆分子项目解决了这一限制,例如`poexcel`可在多平台上运行Excel相关功能。只需简单修改导入语句,如使用`import poexcel`替代`import office`,即可在Mac和Linux上顺利执行。学习或使用中有任何疑问,欢迎留言交流!
282 5
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
297 1
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
151 0
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
353 0
|
Linux PHP
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
128 0
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
185 0
|
存储 关系型数据库 Linux
【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
【Azure 应用服务】App Service For Linux 部署PHP Laravel 项目,如何修改首页路径为 wwwroot\public\index.php
174 0

热门文章

最新文章