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

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

WBOY
リリース: 2016-06-13 12:59:50
オリジナル
878 人が閲覧しました

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

	function word2pdf($doc_url, $output_url)<br />
	{<br />
		//Invoke the OpenOffice.org service manager<br />
		$osm = new COM("com.sun.star.ServiceManager") or die ("Please be sure that OpenOffice.org is installed.\n");<br />
		//Set the application to remain hidden to avoid flashing the document onscreen<br />
		$args = array($this->MakePropertyValue("Hidden",true,$osm));<br />
		//Launch the desktop<br />
		$top = $osm->createInstance("com.sun.star.frame.Desktop");<br />
		//Load the .doc file, and pass in the "Hidden" property from above<br />
		$oWriterDoc = $top->loadComponentFromURL($doc_url,"_blank", 0, $args);<br />
		//Set up the arguments for the PDF output<br />
		$export_args = array($this->MakePropertyValue("FilterName","writer_pdf_Export",$osm));<br />
		//Write out the PDF<br />
		$oWriterDoc->storeToURL($output_url,$export_args);<br />
		$oWriterDoc->close(true);<br />
	}<br />
<br />
	<br />
	<br />
	public function test1()<br />
	{<br />
		$output_dir = SERVERBASE . 'client/files/proj_workaholic/office/pdf/';<br />
		$doc_file = SERVERBASE . 'client/files/proj_workaholic/office/office/helloWorld.doc';<br />
		$pdf_file = "hellowWorld.pdf";<br />
		$output_file = $output_dir . $pdf_file;<br />
//		$doc_file = "file:///" . $doc_file;<br />
//		$output_file = "file:///" . $output_file;<br />
		$this->word2pdf($doc_file,$output_file);<br />
	<br />
	}<br />
test();<br />
ログイン後にコピー

システム: ウィンドウ 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="ソケット,ホスト
=127.0.0.1,port=8100;urp;" -nofirststartwizard
その後、もう一度試してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート