ホームページ >バックエンド開発 >PHPチュートリアル >OpenOfficeを使用してPHPを使用してOfficeをPDF形式に変換する方法

OpenOfficeを使用してPHPを使用してOfficeをPDF形式に変換する方法

WBOY
WBOYオリジナル
2016-06-13 13:16:44946ブラウズ

php は、openoffice を使用して Office を PDF 形式に変換します
タイトルとしてインターネットからコードを見つけます

PHP コード
<!--

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


システム: window xp
ソフトウェア: openoffice3.3
サーバー: xampp
php.ini - com.allow_dcom = true

エラー: 致命的なエラー: キャッチされない例外 'com_Exception' とメッセージ「COM オブジェクト `com.sun.star.ServiceManager' の作成に失敗しました」パス「



」のプロジェクト-----ソリューション---------------------- --------
OpenOffice.org のインストールが必要です
------解決策------------------
1. OpenOffice がインストールされているかどうかを確認します。
2. コマンド ラインを使用して OpenOffice サービスを開始します:
cd C:Program FilesOpenOffice.org 3program
C:Program FilesOpenOffice.org 3program>soffice -headless -accept="socket,host
= 127.0.0.1,port=8100;urp;" -nofirststartwizard
その後、もう一度試してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。