Home > Backend Development > PHP Tutorial > php 利用openoffice把office转成pdf格式,该怎么处理

php 利用openoffice把office转成pdf格式,该怎么处理

WBOY
Release: 2016-06-13 13:16:44
Original
941 people have browsed it

php 利用openoffice把office转成pdf格式
如题 从网上找到代码

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->    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();

Copy after login

系统: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
=127.0.0.1,port=8100;urp;" -nofirststartwizard
然后再试验一下呢.
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template