乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > <em>PHP</em> <em>word转pdf</em>-php w

<em>PHP</em> <em>word转pdf</em>-php w

作者:乔山办公网日期:

返回目录:word文档


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类
* @e5a48de588b6e799bee5baa6e79fa5e98193335author jinzhonghao <> 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;
}
}

}

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

你直接安装上openoffice,启动 openoffice服务
目前最新的版本是ABBYY finereader 12 professional 版,可以识别 100多种语言,还有部分计算机语言。有利器在手,我们当然要把它的强大功能尽可能地发挥出来,这里我就讲一下如何正确使用ABBYY finereader 将PDF 文件转换成可编辑的格式。 工具/原料 ABBYY finereader 11 professional 步骤/方法 首先我们要做的就是打开一个需要转换的 PDF 文件,然后看一下这个文件里面有几种语言,是不7a686964616fe58685e5aeb9362是有表格、图片等 然后运行ABBYY finereader 11,点击欢迎界面“文档语言”下拉选择中的更多语言,弹出“语言编辑器”界面,我们设置好PDF 文件中所包含的几种语言。 因为文件文件中有 C++语言的内容,而 ABBYY finereader 中正好也有 C++的选择,那么我们就毫不犹豫的打上勾。设置完毕,点击右下角的“确定”按键。 回到任务界面,我们是想把PDF 转成可编辑的word 文件,所以我们点击中间的“文件(PDF/ 图片)到Microsoft Word”一项 弹出文件选择窗口,选择需要转换的PDF 文件,注意打开窗口的左下角那几个选项,默认都是打勾的,如果不需要的话可以去掉勾,然后点击“打开”按键。 ABBYY finereader 开始加载文件,并且自动 OCR 识别处理。如果页数比较多的话,可能需要花费一些时间,需要耐心等待一下。 由于自动识别会有一些错误,那么我就可以用手动工具进行修正。我们可以选择不同的工具来修正,比如表格被识别成了普通文字,中间没有线框了,那么我们选择“表格”工具,然后把文件中的表格的区域选出来,然后右键“读取区域”就能够手动识别成表格了。还有如果带有文字的图片被自动识别成了文字了,那么我们可以选择图片工具选出页面中的图片区域,然后在你识别本页面其他部分文字的时候,这个区域就会被识别成图片了。 “编辑图像”按键是用来预处理扫描页图片的,因为扫描页有时候会有倾斜、对比度不好、变形等问题,那么先对图像修正一下可以大幅度提高识别的准确率,调整完以后点击右上角的“退出图像编辑器”按键就可以回到上一界面。 识别完毕以后,选择菜单来的“文件”---“将文档另存为”---“Microsoft Word 文档”(如果你需要保存为其他格式你可以自己选择)。 弹出保存对话框,选择保存路径,如果需要保存完就打开文件的话,记得勾选下面的“保存后打开文档”选项,如果电脑配置不高的话不建议勾选此项,因为ABBYY finereader 本身比较耗内存,然后再打开word 的话电脑可能会比较卡。保存完文件,转换过程就基本结束了。 我们打开保存好的word 文件,看看转换的效果怎么样。识别的区域基本上正常,中文英文、图像都可以识别出来,版面略微有些错位,不过还是含有部分错误,我们需要自己修改一下,但是这个已经可以大大降低我们的录入强度了。 注意事项 OCR 识别是肯定会存在错误的,所以大家识别转换完成以后记得要和原文核对。 设置语言种类的话,越少识别率越高,就是说如果文件只有中文的话,那么就设置中文一种语言,不要选择其他语言,这样识别速度也会提高。 ABBYY finereader 理论上可以转换非加密的任意PDF 文件,但是如果扫描件的分辨率或者清晰度比较差的话,那么是不能被正确识别转换的。

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

相关阅读

  • <em>PHP</em> <em>word转pdf</em>-php w

  • 乔山办公网word文档
  • 1、 安装免费的openOffice软件,请至openoffice.org下载最新版本。2、 JDK支持,请自行搜索下载最新版本JDK。3、安装完openOffice后,在开始--运行中输入Dcomcnfg打开组件服务。在组件
  • <em>php</em> <em>word</em> 转<em&g

  • 乔山办公网word文档
  • 如果是可以打印,就可以使用虚拟打印机来处理:方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这抄个虚拟打印机,都可以做成PDF文件,很简单实用;
关键词不能为空
极力推荐
  • 2017年的外汇行业,你需警惕哪些风险?-word2012

  • word2012,风险无眠,还好我们有点小智慧,能识别各种潜在的骗术。风险往往处于一种潜伏状态,无论其是否具有系统性,它通常会影响到整个行业的从业者,或者某一个特定的群体,风

ppt怎么做_excel表格制作_office365_word文档_365办公网