31

PHP で動作し、Crystal レポートに似たものを探しています。データを挿入するだけで請求書を出力し、プリンターに送信できるように、基本的にはレイアウト設定が必要です。

これまでに見つけた中で最も近いのは PDFB ですが、正確な配置が必要なため、少し面倒です。

テンプレート (できれば XML ベース) に基づいて請求書を生成し、印刷しやすいフォームに出力できるものが欲しいです (PostScript がいいでしょう!)。

バーコードもサポートする必要があります (ただし、これらは GD イメージとして生成できます)。

もう 1 つの要件は、これが FLOSS でなければならないことです。

4

12 に答える 12

12

PHP-JavaBridge経由でApache FOPで XML + XSL:FO を使用します。

方法は次のとおりです。 http://wiki.apache.org/xmlgraphics-fop/HowTo/PHPJavaBridge

PostScript がいいでしょう。

多くの PostScript プリンターは PDF も認識します。

于 2009-04-14T14:11:19.850 に答える
7

私はSpreadsheet_Excel_WriterPHPで使用しましたが、それで十分です。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 にはリモート呼び出しのサポートもありますが、これを書くためだけにそれを調べたわけではありません。

于 2009-06-04T11:09:23.303 に答える
6

私はphpでeclpseを使用しました: "BIRT Project"

http://www.eclipse.org/birt/phoenix/

レポートは Eclipse で設計します。次に、サーバーにアップロードします(Tomcatを実行している必要があります)。次に、php アプリケーションからそのレポートを呼び出し、クエリ文字列を介してパラメーターをレポートに送信できます。

/myreport.birt?param=var¶m2=var2

これまでのところ、このように機能する4年間のアプリケーションがあります。約 100 件のレポートがあり、非常にうまく機能しています。

もちろんオープンソースです。

幸運を

于 2009-06-07T03:47:35.320 に答える
5

レポーティコ

私の意見では、最高の、詳細で機能豊富な PHP Report Designer の 1 つです。

于 2013-03-31T08:21:58.593 に答える
5

サーバーにアクセスできる場合は、 Apache FOPを介してXSL Formatting Objectsを使用することもできます。XSL-FO は XML ベースであり、PostScript や PDF を含む多くの出力形式をサポートしています

于 2009-04-14T12:12:59.650 に答える
1

このニーズに適したツールは、印刷可能なメディアに最適な XSL-FO です。XSL-FO は、XSLT とともに W3C 勧告でもあります。レポート用の中間言語として XSL-FO を使用する php ツールを作成しました。この XLS-FO は、レポート XSLT テンプレートを XML データとマージ (処理) した結果です。

MS Word を使用して自動的にテンプレートを作成し、ユーザー マニュアルに示されているようにエクスポートします。次に、レポート エンジンにテンプレートをフィードし、実行時にデータ XML をフィードします。

また、実行時に、結果の XSL-FO レポートは次のようにレンダリングされます。

a) 同じ XSL-FO (デバッグしたい場合、または単に XSL-FO が必要な場合)

b) 完全な PDF (ApacheFOP は XSL-FO をレンダリングします)

c) XSLFO2HTML 変換を伴う HTML。

ここにプロジェクトがあり、symfony 1.4 プラグインです: https://github.com/juanmf/sfPlugins/tree/master/reportPlugin

私はそれをSFから切り離す予定です。遠慮なく何でも聞いてください。ハウツーは次のとおりです: https://github.com/juanmf/sfPlugins/blob/master/reportPlugin/doc/HowToReport.pdf?raw=true

この投稿も役立つかもしれません: https://stackoverflow.com/questions/5519024/report-engine-solution-for-lamp-application/13042656

よろしく!

于 2012-10-31T03:55:02.617 に答える
1

私は約1年前に同じ問題に遭遇しました。既存のソリューションをあちこち探した後、見つけられなかったので、Zend Framework の PDF 生成ライブラリを使用してスリム化された Crystal レポートを作成しました。グループ化されたオブジェクト、繰り返しセクション、およびテンプレートをサポートするために、ライブラリを大幅に調整する必要がありました。それはうまくいきましたが、それは本当にぎこちなく、もう一度やり直す必要がある場合は、Gushikenが言ったようなWebサービスを介して、またはコマンドラインアプリを呼び出すことによって、PHPをCrystalレポートにブリッジする方法を見つけるでしょう. CPAN には、CR: Win32::OLE::CrystalRuntime::Applicationへの Perl インターフェイスがあります。

過去 1 年間に PHP ソリューションがリリースされた場合、CR と比較できるほど成熟しているとは思えません。時間は高価です。ソフトウェアではありません。

于 2009-05-08T17:57:41.500 に答える
1

うーん..私は現在のプロジェクトで同じ問題を抱えていました.Crystal Reportsを使用し、C#で記述されたasp.net Webサービスでレポートを呼び出すことになりました。Web サービスはそれほど複雑ではなく、Crystal レポートのすべての機能を引き続き使用できます。Crystal レポートと比較できる、完全に php に基づいたレポート エンジンが見つかるとは思いません...まだ見つけられていません...

于 2009-04-14T12:03:16.663 に答える
0

Tufatをお試しください

私はたまたまそれがあなたを助けるかもしれないのを見ました。ただし、テストできる無料バージョンがあります。

あなたはそれを好きになるでしょう..あなたのコピーを共有してください。

于 2010-03-23T06:07:55.923 に答える
0

私はphpreportsを使用しましたが、ヘッダー、フッター、グループ、小計などをサポートしているため、Web ベースのレポートには悪くないことを認めなければなりません。

于 2011-05-01T15:21:49.643 に答える
-1

siwapp.orgをご覧ください。これは、Symphony Framework に基づくオープンソースの請求アプリケーションです。初期のベータ版ですが、非常に有望です。

于 2009-06-05T19:33:54.363 に答える