macchakaはじめまして。今、PHPにて、アップロードされたMS-OfficeデータをPDFに変換するという処理を作りたいと思って調べています。調べていると、PUNOを使うというのも出てきたのですが、Windowsであればそこまでしなくても、COMでコントロールできるらしいというところまで理解しました。今までLinux系でしか開発をしていなかったので(とはいえ、WindowsでXAMPPでやってますがw)、COMを使ったことはないのですが、もしこれでできるのであれば、本気で取り組んでみようかなと思っています。ご存知の方がおられたら...という前提ですが、質問の主旨としては、「Windows環境下の場合に、UNO/PUNO等を使わずに、phpからCOMで直接OpenOffice.orgをコントロールして、Officeドキュメントを開いて、PDFで保存する」ということの可否です。MoIshiharaさんの投稿「OpenOfficeをPDFコンバータにする方法」を拝見して、恐らくドキュメントを開いてPDF化は問題ないんだろうなと思うのですが、問題は前者で、なかなかググり方が悪いのか、読み方が悪いのか、よく理解できませんでした。別の話ですが、http://www.php.net/manual/ja/ref.com.php#63109こちらで、COMでExcelを操作するという話が挙がっているのを見て、同じようにOpenOffice.orgを操作できるのなら、実装可能かな...と淡い期待を抱いているのですが。一応トピックス検索を行いましたが、もし既出がありましたらご教示頂けると幸いです。こんにちは・PHPの仕様をよく解っていないのですが...・たぶん、オートメーションでもPUNOでも利用出来るだろうと思いますが、実際の所は試してみないと判りません。違いは、(クライアント側のプログラム記述的な意味では)基本オブジェクトの収得関数ぐらいです。taniもしご存知の方がおられたら...という前提ですが、質問の主旨としては、「Windows環境下の場合に、UNO/PUNO等を使わずに、phpからCOMで直接OpenOffice.orgをコントロールして、Officeドキュメントを開いて、PDFで保存する」ということの可否です。(COMだろうが、PUNOだろうが、結局UNOのAPIで制御するので、文意を正確に捉えられていませんが。)http://www.oooforum.org/forum/viewtopic.phtml?t=9815にのってるサンプルです。World");参考までに。コンバート出来る様にはしておきました。"error\n";endif;PHPってこんな書き方できるんですね。If文とかは{}でくくるのが当たり前だと思っていたので。こんにちは・公式のリファレンスに記載されていますので、どの環境でも使えると思います。以降では使えるらしいので、修正しました。macchakaみなさん、いろいろありがとうございます。読んではいるんですが、そもそもXAMPPでCOMを使うこと自体に失敗していて、別サイトにあったExcelを使うサンプルとかすら動かなくて、なんか設定の問題かなぁと難儀しているところです。これ以上だんまりというのも失礼なので、中間報告です(汗やっぱり、あんまりやってる人少ないんですねぇ、なかなかphpでのCOM周りは検索しても出てこないです。こんにちは・サンプルは、日本語に限定しなければ、かなり有ると思います。macchakaご無沙汰してしまいました。合間を見て、色々と格闘しているのですが、どうも不可解な状態で、これまたググっても出てこないというか。厳密に言えば出てくるのですが(英語で)、解決に至ったものが見あたらないという状態です。`com.sun.star.ServiceManager'というエラーになります。COM("word.application");のように書くと、これは何もエラーは起きずに処理が通ります。ここで海外のサイトだと「きちんとインストールできてるのか?」「Javaランタイムはどうなんだ」みたいな話になるのですが、こちらのコミュニティで掲載されているOpenOfficeをPDFコンバータにする方法viewtopic.php?f=69&t=870は動作します。いう記述なので、OpenOffice.org側の問題というような気がしません。いえ、Wordは動作するので、PHPからCOMが使えていないというわけでもなさそうなのですが。XAMPPなのがいけないのでしょうか。このレベルで止まっているので、大変苦悩しています。macchakaさっそくのご連絡ありがとうございます。結論からいうと、先にOpenOfficeを立ち上げて試したところ動きました。その後、終了して試してみましたが、動きました。一度、再起動して直後に試してみたところ、動きました。実は、昨日書いた後、下記のような記事を見つけ、色々設定を変えたので、その影響があるかもしれません。vironment/嘘のように動いているので、後ほど、設定を順番に戻してみて、試してみます。ちなみに、インストール順序はXAMPP→OpenOfficeの順です。参照設定とは何でしょう。いつもCentOSなもので。バイナリは32bitです。いくつかの環境で試してみているので、そこは大丈夫だと思います。こんにちは・動作出来る様になって良かったですね。使いたい方の参考になると思います。ent/#way02こちらでも挙げられているApacheサービスにおいて「デスクトップとの対話をサービスに許可」にチェックが入っていなかったことによるものでした。結論からすれば、基本的なことなんだろうな、と思うのですが、私が見る限り、ここにチェックを入れよと書いてあるドキュメントには巡り合わなかったので、盲点でした。64bitだけに依存する問題ではありませんでしたので、念のため書き添えます。末筆になりましたが、「このコード、神!」です(笑)私もOpenOffice.orgとこのコミュニティに、貢献できればと思います。ありがとうございました。僕のような素人で困った方のために書き添えます(笑)OpenOffice.orgをインストールした後、必ず一度起動しなければなりません。「ユーザ登録」画面が出てくるからですwこれで「応答無し」になってしまいます。サーバ側でダイアログが出るので気付くといえば気付くのですが、これで「オレの時間を返せ-」という人が減ってくれれば幸いです。Grouphttp://www.phpbb.com/。