php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法
最近一直在研究PHP word文档转PDF,也在网上搜索了很多类似的资料,大多数都是通过OpenOffice进行转换的。
核心的代码如下:
function MakePropertyValue($name,$value,$osm){
$oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
$oStruct->Name = $name;
$oStruct->Value = $value;
return $oStruct;
}
function word2pdf($doc_url, $output_url){
$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n");
$args = array(MakePropertyValue("Hidden",true,$osm));
$oDesktop = $osm->createInstance("com.sun.star.frame.Desktop");
$oWriterDoc = $oDesktop->loadComponentFromURL($doc_url,"_blank", 0, $args);
$export_args = array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
$oWriterDoc->storeToURL($output_url,$export_args);
$oWriterDoc->close(true);
}
$doc_file=dirname(__FILE__)."/11.doc"; //源文件,DOC或者WPS都可以
$output_file=dirname(__FILE__)."/11.pdf"; //欲转PDF的文件名
$doc_file = "file:///" . $doc_file;
$output_file = "file:///" . $output_file;
$document->word2pdf($doc_file,$output_file);
用上述发现代码一直在报错
( ! ) Fatal error: Uncaught exception 'com_exception' with message 'Source: [automation bridge] Description: com.sun.star.task.ErrorCodeIOException: ' in I:\phpStudy\WWW\DocPreview\test2.php on line 27
( ! ) com_exception: Source: [automation bridge] Description: com.sun.star.task.ErrorCodeIOException: in I:\phpStudy\WWW\DocPreview\test2.php on line 27
最后发现原来是转出路径的问题:通过调试得出上述代码的转出路径$output_file 是file:///I:\phpStudy\WWW\DocPreview\sdds.pdf。
然而storeToURL这个方法里面需要的路径是这样的:file:///I:/phpStudy/WWW/DocPreview/sdds.pdf。
因此只需要将$output_file的"\"替换为“/”
$doc_file=dirname(__FILE__)."/11.doc"; //源文件,DOC或者WPS都可以
$output_file=dirname(__FILE__)."/11.pdf"; //欲转PDF的文件名
$output_file=str_replace("\\","/",$output_file);
$doc_file = "file:///" . $doc_file;
$output_file = "file:///" . $output_file;
$document->word2pdf($doc_file,$output_file);
以上这篇PHP调用OpenOffice实现word转PDF的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法相关推荐
- c html转换成word,C#实现HTML转WORD及WORD转PDF的方法
本文实例讲述了C#实现HTML转WORD及WORD转PDF的方法.分享给大家供大家参考.具体如下: 功能:实现HTML转WORD,WORD转PDF 具体代码如下: using System; usin ...
- 苹果手机怎么编辑word文档_word文档转pdf要怎么实现?word转pdf好方法推荐
word文档转pdf要怎么实现?2020上半年,我应聘到了一家公司当财务文员,由此踏入了心念已久的职场生活.刚入职时候,公司便安排了全部新人进入系统学习阶段,各种与财务相关的知识理论文件资料被塞满到我 ...
- 免费!在线WORD转PDF的方法分享
为什么一般会把WORD文档转成PDF呢?那是因为PDF便于查阅,兼容性.占用内存大小都比Word更好.所以大部分文件格式会使用PDF格式传输,今天就和大家分享一个在线WORD转PDF的方法,并且是有免 ...
- JAVA POI Word转PDF convert方法 NullPointException
JAVA POI Word转PDF convert方法 NullPointException 如果操作过通过POI操作过Word,请保证创建run之后run的值不为null,为null将在转换时报错. ...
- Java关于word转pdf工具方法的几种解决方案和我遇到一些问题(html中转、jacob、Docx4j)
本文参考文章如下 java转pdf(html转为pdf),解决中文乱码,标签不规范等问题 Java 使用 jacob 将 word 文档转换为 pdf 文件 java实现word生成并转pdf doc ...
- word转换php方法,PHP实现Word转换PDF的方法
PHP也可以实现导出Word文档为PDF的功能,不过要借助于第三方的类库,今天我们将为大家介绍PHP依靠com.sun.star.ServiceManager来转换Word为PDF文档的相关技巧. P ...
- Word转pdf一个方法就可以完成~手机电脑都可以免费使用~办公必备
我们有时编辑完Word文件需要打印或发送给他人查看,一般会先转换为PDF格式,这样在别的电脑上打开时就不会出现格式的变动,也不会出现因为版本而无法打开的问题,那么用什么方法可以将Word转换成PDF文 ...
- Word怎么转PDF?三种Word转PDF的方法!
在职场办公中有时候也需要我们将Word转成PDF文件,主要原因是 PDF 格式在可视化.可读性和文件保护方面优于 Word 文档格式.今天分享三种Word转PDF文件的方法. 1.使用 Microso ...
- 小圆象PDF转换器:Word转PDF转换软件有哪些?Word转PDF简单方法分享
当我们刚接触到电脑时,我们最先使用的文档格式一般是 Word 格式,这种格式适合我们记录文件,在记录和书写方面有很大的优势.但是我们编辑完Word文档后,我们会选择转换成PDF格式保存,因为PDF格式 ...
最新文章
- 学习flask的网址
- java 08_java 08 权限修饰符 编译运行
- STL:Numberic_limit()
- linux7 语言包,Centos 7中文语言包的安装及中文支持
- STM32F7xx —— 96位唯一ID
- 4-4:TCP协议之TCP头部格式详解
- 数据库 之 事务控制和隔离级别
- 计算机桌面打开图像管理,如何给电脑桌面设置几张图片自动播放
- 通过实现IHttpModule初始化Nhibernate的Session
- 基础总结篇之二:Activity的四种launchMode
- css将空的div撑开,如何使用css将空的浮动div伸展到可用的全高度?
- python输入文字、成为字典_python中将字典形式的数据循环插入Excel
- 金融资产管理公司 不良资产的发言人
- 计算机网络教室管理制度
- word中如何插入参考文献
- java8之CompletableFuture
- 怎么把多个图片转成一个文字版的Word呢
- Java集合(一)Java集合及其关系
- 英孚教育APP应用获全球杰出商业银奖
- P1291 SHOI2002 百事世界杯之旅
热门文章
- Hashmap扩容时出现循环链表(jdk1.8把头插法换成了尾插法的原因)
- Java内存泄露8种情况的总结
- 奇虎360WEB平台部招贤纳士之产品经理、开发工程师
- Jar包冲突解决方法 Unknown lifecycle phase mvn Eclipse中执行maven命令
- python php multiprocessing,Python多进程并发(multiprocessing)用法实例详解
- Java校招笔试题-Java基础部分(一)
- Go语言如何操纵Kafka才能保证消息不丢?
- 什么是 gRPC ?
- GitLab持续集成在商用项目中的应用实践
- 错误:Type javax.xml.bind.JAXBContext not present