在网上现在能查到的,并且能通过php调用相关接口,将word转换成pdf文件的有openoffice,访问网址为http://www.openoffice.org/download/index.html

它提供了各种平台的转换软件。

自己下载后,安装使用。

在windows环境下:

我们下载安装后,首先要启动openoffice 对应的wordpdf的服务
比如我安装的路径是:C:\Program Files\OpenOffice 4\program 我们在cmd命令下进入该路径,运行下面命令 启动wordpdf对应接口。
C:\Program Files\OpenOffice 4\program>soffice -headless -accept='socket,host=127.0.0.1,port=8100;urp;' -nofirststartwizard
然后我们再配置php的调用openoffice word生成pdf的配置, 打开php.ini 然后配置下面的内容
extension=php_com_dotnet.dll

你看看你那里有没有上面的配置,如果没有则加上对应的配置,然后查看一下php扩展文件夹里面有没有php_com_dotnet.dll
一般都在ext文件夹下,如果文件夹下没有则要更换php或者下载对应版本的php_com_dotnet.dll,这个是php用来调用openoffice的扩展文件。
 
再次,我们就要用php代码来实现wordpdf了,看下面的代码,来自网上,部分修改。
<?php
set_time_limit(0);  //设置过期时间
$home = str_replace("\\","/",getcwd());
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 = $home."/word.docx";//输入的 word文件地址,
$output_file = $home. '/pdf.pdf';  //输出的pdf 文件地址,
$doc_file = "file:///" . $doc_file;  
$output_file = "file:///" . $output_file;  
word2pdf($doc_file,$output_file);  
?>
然后运行php文件,上面的word文件就会自动转为pdf文件输出 测试一下吧。

word2pdf的更多相关文章

  1. grpc 之 word2pdf使用

    ​ 做一个word转pdf的服务,采用grpc,使用libreoffice命令. 1.构建libreoffice镜像 FROM python:3.6 ENV TZ=Asia/Shanghai RUN ...

  2. java word 转 pdf

    这里使用jacob将word转pdf,使用的是jacob.jar import java.io.File;import com.jacob.activeX.ActiveXComponent;impor ...

  3. java使用jacob将office转pdf

    1.此处代码是把office文档转换成pdf的工具类,在BS架构的产品中,我们可以使用基于JS的pdf插件显示pdf文档,但是前提IE需要按照adobe的pdf软件,对于非IE不用安装.2.可以基于f ...

  4. c/c++常用代码---doc,ppt,xls文件格式转PDF格式[转]

    [转]doc,ppt,xls文件格式转PDF格式 http://blog.csdn.net/lee353086/article/details/7920355 确实好用. 需要注意的是#import文 ...

  5. 将word转化为swf 进行如同百度文库的般阅读

    实现如同百度文库那样类似功能需要进行一系列转化,一般流程想将word转化为pdf格式,再将pdf格式转化为swf格式.在网页上显示其实都是swf格式内容. 首先将word转化为swf,需要调用com组 ...

  6. java 调用OpenOffice将word格式文件转换为pdf格式

    一:环境搭建 OpenOffice 下载地址http://www.openoffice.org/ JodConverter 下载地址http://sourceforge.net/projects/jo ...

  7. jacob 操作word转pdf

    项目需要对上传的word及pdf进行在线预览,因基于jquery的pdf插件,很方面实现在线预览,而word实现在线预览费劲不少,于是想到在进行上传处理时,直接将word转成pdf,在预览时直接预览p ...

  8. [Python Study Notes]批量将wold转换为pdf

    本文代码,由原ppt2pdf.py进行改写 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  9. Aspose实现Office转PDF (ASP.NET)

    0.添加Aspose的DLL 1.可以直接去官网下载,不过默认是带水印的,如需去除水印可以购买 2.当然也可以在国内的一些下载站下载 3.将Aspose.Cells.dll.Aspose.Words. ...

随机推荐

  1. MySQL 学习笔记 (范式)

    范式基本就是不要有重复的数据,表和表之间都是用主键和外键来联系 表的关系通常分3中 1 对 1 1 对 多 多 对 多 多 对 多 是用另一个表来实现的,这个表记入了a 表和 b表之间多对多的联系主键

  2. POJ 3384 Feng Shui

    http://poj.org/problem?id=3384 题意:给一个凸包,求往里面放两个圆(可重叠)的最大面积时的两个圆心坐标. 思路:先把凸包边往内推R,做半平面交,然后做旋转卡壳,此时得到最 ...

  3. 走进C++程序世界-------类的定义和使用(数据成员和方法成员,析构函数,构造函数,内联实现)

    类的成员简介 在C++中,可以通过声明一个类来穿件一种新的类型.类将一组变量(他们的类型通常不同)和一组相关的函数组合在一起.类可以有各种类型的变量组成,还可以包含其他类对象.成员变量称为数据成员它们 ...

  4. 【数位DP】 HDU 4734 F(x)

    原题直通车:HDU 4734 F(x) 题意:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1, 求0.....B中F[x]<=F[A ...

  5. 【转】ubuntu中的Wine详解

    原文网址:http://blog.csdn.net/iwtwiioi/article/details/10530561 什么是wine?(转自百度百科,具体看百科) wine,是一款优秀的Linux系 ...

  6. 湖南生第八届大学生程序设计大赛原题 C-Updating a Dictionary(UVA12504 - Updating a Dictionary)

    UVA12504 - Updating a Dictionary 给出两个字符串,以相同的格式表示原字典和更新后的字典.要求找出新字典和旧字典的不同,以规定的格式输出. 算法操作: (1)处理旧字典, ...

  7. Android中各种onTouch事件

    Android里有两个类 android.view.GestureDetector android.view.GestureDetector.SimpleOnGestureListener 1) 新建 ...

  8. c指针点滴5-指针变量计算

    //接口dll _declspec(dllexport) void go() { char *p1; int *p2; p1 = (char*)0x30fa83;//每次运行exe的时候输出地址值不同 ...

  9. #python基础学习模块:marshal 对象的序列化

    #标准库地址:https://docs.python.org/2/library/marshal.html"""有时候,要把内存中一个对象持久化保存磁盘或者序列化二进制流 ...

  10. HeadFirst设计模式 之 C++实现(二):Observer(观察者模式)

    观察者模式是最经常使用的设计模式之中的一个,[对象之间多对一的依赖关系,当一个对象发生变化时,其会通知全部依赖它的对象].拿订阅报纸和发行报社打例如,报社採集到news制作新的报纸,派送给订阅的客户. ...