导航:首页 > 编程语言 > phpoffice转pdf

phpoffice转pdf

发布时间:2022-08-30 19:42:12

‘壹’ php word 转pdf 有哪些方法

1、 安装免费的openOffice软件,请至openoffice.org下载最新版本。
2、 JDK支持,请自行搜索下载最新版本JDK。

3、安装完openOffice后,在开始--运行中输入Dcomcnfg打开组件服务。在组件服务—计算机—我的电脑—DCOMP配置中,选择

在这两项上分别点击右键属性,打开属性面板如下图:

选择安全选项卡,分别在启动和激活权限和访问权限两项上点自定义,添加Everyone的权限。

选择标识选项卡,选择交互式用户。
4、 安装完openOffice后,请先打开一次确认可以正常运行软件,然后退出后用命令行运行以下命令。
先到安装目录下,例如:C:\Program Files\OpenOffice 4\program\
执行命令:
soffice -headless-accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
成功后即在后台运行了该软件。
5、 如果是php5.4.5以前版本,需要在php.ini里把com.allow_dcom = true打开,即去掉前面的分号。如果是以后版本,需要在php.ini 里增加一行扩展extension=php_com_dotnet.dll,然后检查php的ext目录中是否存在该dll文件,如果没有请自行下载对应版本的dll。然后重启apache或IIS服务器。
6、 代码实现
/**
* office文档转换为PDF类
* @author jinzhonghao <[email protected]> created 2015-04-23
*/

class office2pdf
{
private $osm;

public function __construct()
{
$this->osm = new COM("com.sun.star.ServiceManager")or die ("Please be sure that OpenOffice.org is installed.n");
}

public function MakePropertyValue($name,$value)
{
$oStruct = $this->osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
$oStruct->Name = $name;
$oStruct->Value = $value;
return $oStruct;
}

public function transform($input_url, $output_url)
{
$args = array($this->MakePropertyValue("Hidden",true));

$oDesktop = $this->osm->createInstance("com.sun.star.frame.Desktop");

$oWriterDoc = $oDesktop->loadComponentFromURL($input_url,"_blank", 0, $args);

$export_args = array($this->MakePropertyValue("FilterName","writer_pdf_Export"));

$oWriterDoc->storeToURL($output_url,$export_args);
$oWriterDoc->close(true);
return $this->getPdfPages($output_url);
}

public function run($input,$output)
{
$input = "file:///" . str_replace("\\","/",$input);
$output = "file:///" . str_replace("\\","/",$output);
return $this->transform($input, $output);
}

/**
* 获取PDF文件页数的函数获取
* 文件应当对当前用户可读(linux下)
* @param [string] $path [文件路径]
* @return int
*/
public function getPdfPages($path)
{
if(!file_exists($path)) return 0;
if(!is_readable($path)) return 0;
// 打开文件
$fp=@fopen($path,"r");
if (!$fp)
{
return 0;
}
else
{
$max=0;
while(!feof($fp))
{
$line = fgets($fp,255);
if (preg_match('/\/Count [0-9]+/', $line, $matches))
{
preg_match('/[0-9]+/',$matches[0], $matches2);
if ($max<$matches2[0]) $max=$matches2[0];
}
}
fclose($fp);
// 返回页数
return $max;
}
}

}

‘贰’ php怎么使用openoffice实现office文件转pdf文件

你需要几下载几个包,然后安装配置一下:
OOo_3.3.0_Linux_x86_install-rpm-wJRE_en-US.tar.gz
OOo-SDK_3.3.0_Linux_x86_install-rpm_en-US.tar.gz
jodconverter.2.2.2

1. 安装openoffice3
tar zxvf OOo_3.3.0_Linux_x86_install-rpm-wJRE_en-US.tar.gz
cd OOO330_m20_native_packed-1_en-US.9567/RPMS
rpm -ivh *.rpm --nodeps --force
安装后的默认目录是在:/opt/目录下面
启动服务:
/opt/openoffice.org3/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

开机启动:
vi /etc/rc.local
在最后面加入启动语句

2. 安装OpenOffice SDK3.3

tar zxvf OOo-SDK_3.3.0_Linux_x86_install-rpm_en-US.tar.gz
cd OOO330_m20_native_packed-1_en-US.9567/RPMS/
rpm -vih *.rpm
3. 安装jodconverter.2.2.2 ,安装了这个之后就已经可以实现DOC转PDF了。
这个安装很简单,直接上网站下一个这个东东回来。
解压,复制到一个目录里面去,就能直接用了,调用它里面的/lib/jodconverter-cli-2.2.2.jar这个玩意儿就行,可以直接运行命令测试:

java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/1.doc /tmp/1.pdf

‘叁’ 我使用php语言做word转pdf的时候报错

解决方法:
在把Word转换成Pdf过程中,首先是选择文件---打印---然后在打印机下拉框中选择“Pdf打印机”,然后选择确定,此时,选择保存位置,然后确定后Pdf打印做准备。
如果使用了系统字体以外的字体时,Pdf虚拟打印机就会报错提示,为你指出哪页哪页未能转换等等的错误信息,这些信息是在txt文本中呈现的。
下边来看看解决的办法,首先找到系统中“设备和打印机”的位置
点击“设备和打印机”进入设备和打印机界面。
在设备和打印机界面找到“Adobe PDF”虚拟打印机,然后点击右键,选择“打印首选项”。
在弹出的“Adobe PDF打印首选项”对话框中,取消“仅依靠系统字体;不使用文档字体”复选框,然后点击应用退出就OK了

‘肆’ 求问php 利用openoffice把office转成pdf格式,该怎么处理

如题 从网上找到代码PHP code function word2pdf($doc_url, $output_url) { //Invoke the OpenOffice.org service manager $osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.\n"); //Set the application to remain hidden to avoid flashing the document onscreen $args = array($this->MakePropertyValue("Hidden",true,$osm)); //Launch the desktop $top = $osm->createInstance("com.sun.star.frame.Desktop"); //Load the .doc file, and pass in the "Hidden" property from above $oWriterDoc = $top->loadComponentFromURL($doc_url,"_blank", 0, $args); //Set up the arguments for the PDF output $export_args = array($this->MakePropertyValue("FilterName","writer_pdf_Export",$osm)); //Write out the PDF $oWriterDoc->storeToURL($output_url,$export_args); $oWriterDoc->close(true); } public function test1() { $output_dir = SERVERBASE . 'client/files/proj_workaholic/office/pdf/'; $doc_file = SERVERBASE . 'client/files/proj_workaholic/office/office/helloWorld.doc'; $pdf_file = "hellowWorld.pdf"; $output_file = $output_dir . $pdf_file; // $doc_file = "file:///" . $doc_file; // $output_file = "file:///" . $output_file; $this->word2pdf($doc_file,$output_file); } test(); 系统:window xp
软件:openoffice3.3
服务器:xampp
php.ini - com.allow_dcom = true
错误:Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `com.sun.star.ServiceManager' in "the project of path"
------解决方案--------------------------------------------------------需要安装OpenOffice.org
------解决方案-------------------------------------------------------- 1、检查一下是否安装过OpenOffice。
2、用命令行启动OpenOffice服务:
cd C:\Program Files\OpenOffice.org 3\program
C:\Program Files\OpenOffice.org 3\program>soffice -headless -accept="socket,host然后再试验一下呢.

‘伍’ 如何把动态生成的php页面转化成pdf文件

如果是可以打印,就可以使用虚拟打印机来处理:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。
方法三:使用专门的转换软件,把文件转成PDF文件。
实在不能打印,还可以截屏嘛,然后按照下面的方法做出PDF的:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:使用FreePic2Pdf软件,进行批量转换;
方法三:用其他虚拟打印机转成PDF文件。

‘陆’ PHP word转pdf

这个不是说的很清楚了吗
Please be sure that OpenOffice.org is installed

你直接安装上openoffice,启动 openoffice服务

‘柒’ php word转pdf 有什么方法吗

PHP也可以实现导出Word文档为PDF的功能,不过要借助于第三方的类库,今天我们将为大家介绍PHP依靠com.sun.star.ServiceManager来转换Word为PDF文档的相关技巧。

PHP处理Word转PDF的示例代码:

02set_time_limit(0);
03functionMakePropertyValue($name,$value,$osm){
04$oStruct=$osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue");
05$oStruct->Name=$name;
06$oStruct->Value=$value;
07return$oStruct;
08}
09functionword2pdf($doc_url,$output_url){
10$osm=newCOM("com.sun.star.ServiceManager")ordie("请确认OpenOffice.org库是否已经安装. ");
11$args=array(MakePropertyValue("Hidden",true,$osm));
12$oDesktop=$osm->createInstance("com.sun.star.frame.Desktop");
13$oWriterDoc=$oDesktop->loadComponentFromURL($doc_url,"_blank",0,$args);
14$export_args=array(MakePropertyValue("FilterName","writer_pdf_Export",$osm));
15$oWriterDoc->storeToURL($output_url,$export_args);
16$oWriterDoc->close(true);
17}
18$output_dir="D:/temp/";
19$doc_file="D:/temps/test.doc";
20$pdf_file="test.pdf";
21$output_file=$output_dir.$pdf_file;
22$doc_file="file:///".$doc_file;
23$output_file="file:///".$output_file;
24word2pdf($doc_file,$output_file);
25?>

‘捌’ PHP怎么实现提取WORD的内容以及把WORD转换成PDF格式

有一家网络公司的业务就是用PHP制作PDF文件的,这个你就应该知道你这个问题不是一两个小程序能完成的。pear里面有个类库,可以利用TXT文件去生成PDF文件,而且有点小复杂,至于这么提取word的内容,不懂,期待高手~

‘玖’ PHP 中怎么实现OFFICE文件转换成PDF文件格式

贴个doc转pdf的
< ?php
set_time_limit(0);
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);
}
$output_dir = "D:/LightTPD/htdocs/";
$doc_file = "D:/LightTPD/htdocs/2.doc";
$pdf_file = "2.pdf";
$output_file = $output_dir . $pdf_file;
$doc_file = "file:///" . $doc_file;
$output_file = "file:///" . $output_file;
word2pdf($doc_file,$output_file);
?>

阅读全文

与phpoffice转pdf相关的资料

热点内容
心理大全pdf 浏览:1000
区域链加密币怎么样 浏览:339
查找命令符 浏览:95
压缩工具zar 浏览:735
白盘怎么解压 浏览:474
辰语程序员学习笔记 浏览:47
程序员被公司劝退 浏览:523
java三子棋 浏览:692
加密空间怎么强制进入 浏览:345
ug分割曲线命令 浏览:209
学码思程序员 浏览:609
自考云学习app为什么登不上 浏览:410
domcer服务器昼夜更替怎么搞 浏览:436
plc和单片机哪个好 浏览:535
帝国神话组建云服务器 浏览:827
邓散木pdf 浏览:199
方舟怎么直连服务器图片教程 浏览:563
假相pdf 浏览:336
找对象找程序员怎么找 浏览:976
怎么投诉苹果商店app 浏览:470