私はSpreadsheet_Excel_Writer
PHPで使用しましたが、それで十分です。WYSIWYG ではありませんが、XSL ファイルを生成します。満足しています。その後、OpenOffice マクロを使用してドキュメントを PDF に変換できます。コマンドラインから動作するため、PHP スクリプトからも動作します。
または、さらに良い方法があります。
OpenOffice を使用して Smarty テンプレートを変換します。Smarty は PHP 用のクールなテンプレート エンジンです。この目的にはこれをお勧めします。次に、Smarty で PHP を使用して純粋な HTML を生成します。最後に、前述の方法を使用して、生成された HTML を PDF に変換するだけです。
レポーティング革命 (tm)。
編集 2009 年 6 月6 日
モッドダウン?ああ、気にしないでください。
とにかく、この方法は、X11 を実行していないヘッドレス サーバーで機能します。上記のリンクからスクリプトを取得し(ただし、「DannysLibrary」ではなく既存のコレクション「Standard」に配置しました)、PuTTYを使用してWindowsマシンからこのコマンドを実行し、リモートマシンでXをシャットダウンしました。 DISPLAY変数が設定されていませんでした... まあ、いずれにせよ、OOoが接続するX11を見つける方法はありません.
$ openoffice.org -invisible -headless "macro:///Standard.Conversion.ConvertWordToPDF(`pwd`/logaritamska.doc)"
これは機能し、HTML からの印刷可能なレポートの作成など、別の形式から PDF への変換が必要な人にとっては非常にうまくいくと確信しています。マクロを編集することで、OOo に stdin または一時的なサービス URL から直接読み取らせ、事前定義されたファイルに出力させることもできます。展開する基本的なコードがあれば、リンクのスクリプトは非常に単純です。
概要:
- レポートを XLS または HTML として生成する
- それらを変換する
- OOo ですが、ヘッドレス マシンで動作します
EDIT 2009 年 6 月 9 日
オンライン コンバーターをこの方法で実装しようとしました。マクロを作成したのと同じユーザーで PHP を実行する必要があります。このユーザーは明らかに www-data ではありません。suphp を使用しようとしましたが、何らかの理由でユーザーが適切に変更されませんでした ( posix_getuid()
www-data である 33 を返し続けました)。これを修正したら、これを編集します。
編集 2009 年 6 月 26 日
報告するのに時間がかかったと思います。はい、これは suphp で動作します。ただし、私が持っている唯一のサーバーは、専門的なセキュリティ監査を受けていない比較的重要な Web アプリを実行しているため、ライブで表示する立場にはありません。これは、バックエンドを保護するために私たちが依存していることの 1 つは、フロントエンドを実行するユーザーが非常に特権のないユーザー (www-data など) であるということです。聞かないでください:-)
これが誰かの役に立てば幸いです: はい、OO.o で PDF に変換することは非常に現実的です。OO.o にはリモート呼び出しのサポートもありますが、これを書くためだけにそれを調べたわけではありません。