JavaBridge.jar和Aspose.Cells安装及PHP将EXCEL导出PDF方法
这篇博文我个人觉得能放出来真是很不容易,因为要实现一个功能而让我几乎翻遍了整个网络,而今天能写这个文章对于标题我觉得作为一个多标题内容更加适合:
1.Aspose.Cells for PHP安装使用及将excle文件导出PDF的示例代码
2.PHP调用Java实现JavaBridge.jar的使用方法
3.PHP利用Aspose.Cells导出PDF实例
以上3个标题我觉得都可以作为标题,也是我探索这个领域的迷惑之处,我真的能理解那些开发人员对于想实现一些功能,但找遍全是千篇一律没头没尾,没有一点思路的方案时的愤怒!!!
首先描述一下我要实现的功能:
将Excel的xls或xlsx文件转换为PDF格式输出下载,也正是因为这个才有了上面三个相关的探索。
上面涉及到的关键词“Aspose.Cells(全称是这个:Aspose.Cells for PHP via Java)”、“JavaBridge.jar”,先说下他们的关系。我是在PHP下编程,比如需要导出excel文件时用到的PHPEXCEL插件,“Aspose.Cells”就相当于这个插件,只不过今天要用在输出PDF文件,但这个插件是在JAVA平台下开发的也要在JAVA平台下使用,那如何将PHP与JAVA开发的插件进行通讯对接呢,也就要用到“JavaBridge.jar”,从名称上也能理解JAVA桥接,它的作用就是将PHP与JAVA平台下的插件关联起来,以实现功能,这么一说应该就明白了吧。
一般能读到我这篇文章的应该Apache和PHP的环境肯定是早就装好的,要不然应该不会找到这里。
一、“JavaBridge.jar”的安装及启动应用
首先了解“JavaBridge.jar”是在JAVA平台下运行的,那我们就要先安装JAVA环境。
下载地址:https://www.java.com/zh-CN/download/
下载之后的软件和普通软件的安装没有区别,默认下一步安装即可,接下来,我们讲JavaBridge.jar从哪里下载(也可以不下载,我百度云盘里提供了,可以直接用)
下载地址:http://php-java-bridge.sourceforge.net/pjb/download.php,点击箭头的地方下载即可(也可以不下载,我百度云盘里提供了,可以直接用)
下载之后,我们可以发现刚刚下载的文件JavaBridge.jar的文件图标就变成可以运行的图标样子了,双击运行,会弹出如下图的弹窗,默认点击确定即可,同时会生成一个JavaBridge.log,这个文件相当重要,这也是我白白耗费2天时间一直纠缠的地方。
打开JavaBridge.log文件,如下图框内标红的这个路径就是要存放其它需要加载的.jar包的路径,很重要,很重要,很重要,这也是有些人不知道下载之后,不知道放在哪,不知道如何启动加载应用最迷茫的地方,我们先记下这个路径,后面再说。
至此,JAVA环境和JavaBridge.jar的安装就结束了,下面就开始到了Aspose.Cells for PHP的安装了。
二、Aspose.Cells for PHP via Java 的安装方法
写到这又有了要骂人的冲动,网上能找到的相关文章,要么不完整、要么格式很乱、要么没头没尾、要么像CSDN全他妈复制别人还有脸要积分下载,让人抓狂。估计很多人遇到了要么找不到“Java.inc”文件、要么找不到“lib目录”、要么没有PHP的示例代码文件,总之不是缺这个就是少那个。
而今天我通过李雷博客既然讲到了应用层面了,涉及的“Aspose.Cells”插件和PHP示例代码,请在我提供百度网盘下载:
下载地址:https://pan.baidu.com/s/10n9iopCw2FQT_ZlWal7aFg
提取码:1msm
我提供的文件如下,根目录下的文件和lib目录下的文件,如截图所示,都是你最想要的:
现在既然文件已经都有了,就按步骤加载jar包,将我提供的压缩包解压后,将lib文件下的下图这两个文件复制到JavaBridge.log文件里java.ext.dirs目录中,如下图,然后将文件设置一下访问权限,如下图
到目前为止文件部署已经完成了,但刚才已经启动过JavaBridge了,新放的两个包还没有加载呢,现在需要重新启动JavaBridge才能加载到这两个文件。我是在任务管理器中直接结束掉进程,然后重新启动(再次双击JavaBridge.jar,弹出框确定即可)。
现在才算真正完成Aspose.Cells的安装了。
三、PHP利用Aspose.Cells for PHP via Java 实现EXCEL文件直接生成导出PDF文件
直接上代码,我目录的位置和调用文件的路径从代码和上面的截图都能看到,到目前为止,就全部搞定了。
另外提醒一下,PHP中有一些需要调用的扩展都打开免得有麻烦,这里面有一些是composer安装时要用到的,后面会在李雷博客发文写一篇关于如何安装composer及利用composer安装程序的文章分享出来
extension=fileinfo extension=gd extension=php_com_dotnet.dll allow_url_include = true com.allow_dcom = true
PHP实现EXCLE导出PDF文件代码:
<?php error_reporting(0); require_once("Java.inc"); require_once("lib/aspose.cells.php"); use aspose\cells; use aspose\cells\Workbook; $workbook = new Workbook("book.xls"); $workbook->save("out.pdf"); ?>
还有一点需要提示大家Aspose.Cells for PHP via Java应该是收费的插件,价格好像还不便宜,虽然免费版的有水印,但我觉得我通过这次探索掌握了如何在PHP平台下加载JAVA平台的jar包来跨平台使用的方法思路,很有借鉴意义。
最后,如果有什么遇到的问题,可以留言给我,如果这篇分享帮到你了就留个脚印,让我好知道我的付出没有白费。
- ● xshellSSH连接Linux服务器防止超时退出
- ● php8开启OpenSSL扩展库报错disabledinstallext
- ● 统信系统linux安装php时的报错libxml-2.0>=2.7.6
- ● tidb关闭sql_mode=ONLY_FULL_GROUP_BY模式
- ● windows10如何开机自动运行bat文件
- ● Win10Mysql8初始密码丢失,初始化又不显示密码
- ● UOS系统关闭防火墙或者放行tcp80端口
- ● 统信系统UOS纯命令行与图形模式界面桌面切换方法
- ● javascript(js)的小数点乘法除法问题详解
- ● 统信UOS如何在root权限下启用浏览器
- ● PHP代码用UDP方式远程唤醒电脑让计算机开机
- ● apache下php生成验证码图片不能显示
- ● PHP使用AES加密解密示例(无偏移)
- ● Pluginmysql_native_passwordreported:''mysql_native_password'isdeprecate问题
- ● PHP实现计算CRC-16/MODBUS校验位
- ● MySQLSUM在没有符合查询条件时返回结果为空的处理办法
- ● 如何开启PHP8的JIT提升运行速度
- ● 钉钉API接口-用PHP+Curl实现获取用户信息
- ● 钉钉API接口-用PHP+Curl实现获取应用Access_Token
- ● 在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑