openofficeを使用してofficeをpdfに変換していますが、コンポーネントが使用できません。助けてください。
この投稿は、nationzhou によって 2013-05-18 16:42:24 に最終編集されました
PHP は openoffice を使用して Office を PDF 形式に変換します。ご質問ください
コードは次のとおりです:
function MakePropertyValue($name,$value,$osm){ <br />
$oStruct = $osm->Bridge_GetStruct("com.sun.star.beans.PropertyValue"); <br />
$oStruct->Name = $name; <br />
$oStruct->Value = $value; <br />
return $oStruct; <br />
}<br />
<br />
function word2pdf($doc_url, $output_url){ <br />
$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.n"); <br />
$args = array(MakePropertyValue("Hidden",true,$osm)); <br />
$oDesktop = $osm->createInstance("com.sun.star.frame.Desktop"); <br />
$oWriterDoc = $oDesktop->loadComponentFromURL<br />
($doc_url,"_blank", 0, $args); <br />
$export_args = array(MakePropertyValue<br />
("FilterName","writer_pdf_Export",$osm)); <br />
$oWriterDoc->storeToURL($output_url,$export_args); <br />
$oWriterDoc->close(true); <br />
}<br />
<br />
$output_dir = "D:/APMServ5.2.6/www/htdocs/pdf/"; <br />
$doc_file = "D:/APMServ5.2.6/www/htdocs/doc/abc.doc"; <br />
$pdf_file = "abc.pdf"; <br />
$output_file = $output_dir . $pdf_file; <br />
$doc_file = "file:///" . $doc_file; <br />
$output_file = "file:///" . $output_file;<br />
<br />
word2pdf($doc_file,$output_file);
ログイン後にコピー
エラーメッセージ:
致命的なエラー: キャッチされない例外 'com_Exception' とメッセージ 'COM オブジェクト `com.sun.star.ServiceManager' の作成に失敗しました: サーバーは実行に失敗しました ' in D:APMServ5.2.6wwwhtdocsphpinfo.php:13 スタック トレース: #0 D: APMServ5.2.6wwwhtdocsphpinfo.php(13): com->com('com.sun.star.Se...')
システム環境: apache、php5.2.6、php.ini で com、dcom、
が有効になっています
オペレーティング システム: win2003、OpenOffice3.2 がインストールされ、openoffice 関連コンポーネントのアクセス許可が設定されています。
コマンドラインを使用して 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
上記のエラーが表示されるまで、ページはまだ 1 分間実行できません。誰かが解決してくれることを願っています。