0

ヘッダー、detail-top、detail-bottom、およびフッターで構成されるレポートページについて考えてみます。「アプリ」を実行するサービスがあります。このアプリは、レポートの詳細下部に最終的に表示されるものを生成します。出力をファイルシステムに保存します。アプリが出力(およびシャットダウン)を生成した後、別の「サービス」が、アプリによって生成されたコンテンツを「マージ」する最終レポートを生成します(サービスはヘッダー、フッター、および詳細上部の領域のコンテンツを提供します)。これをWordで手動で生成する場合、本質的には、Word文書をオブジェクトとして最終レポート文書に挿入することになります。

私はこれを達成するための適切な技術を特定しようとしています。

要件は次のとおりです。

  1. 最終レポートを作成するサービスは、Linuxマシンで実行されるJavaサービスになります。このコードを開発します。
  2. 詳細下部のコンテンツを生成するアプリは、Windows(C#など)またはLinux(Javaなど)アプリケーションである可能性があります。他の多くの開発者がこのコードを開発し、私が提供するSDKを介して私のサービスとインターフェースを取ります。彼らは熟練した開発者であると推定されますが、レポート生成テクノロジでどのような経験があるのか​​わかりません。
  3. サービスで使用されるテンプレートは、実行されているアプリに関係なく、完成したレポートに同じルックアンドフィールを提供しますが、アプリは完成したレポートの詳細下部セクションのコンテンツを完全に制御します。言い換えると、テンプレートが詳細下部セクションの完成したレポートでたとえば7Wx5Hの「フレーム」を割り当てる場合、アプリには基本的に7x5Wの空白ページがあります。
  4. 完成したレポートは複数のページである可能性があり、最初のページは残りのページとは異なる可能性があります。アプリが複数(たとえば、7Hx5Wページ)を生成する場合、サービスは各アプリページを完成したレポートの各ページの詳細下部セクションにマージします。これにより、アプリは全体を生成する場合と同じようにページネーションを処理します。自分自身を報告します。
  5. ある時点で、完成したレポート(テンプレート)のレイアウトを管理するためのUIをエンドユーザーに提供したいと思います。
  6. アプリ開発者が詳細に挿入するコンテンツをどのように作成するかはあまり気にしません-下のフレームと彼は私が実行するための完成した実行可能ファイルを私に提供しているので、彼のレポートを管理するためのUIを彼に提供しませんレイアウト/コンテンツ
  7. エンドユーザーに配信される完成したレポートはPDFとして提供されます。
  8. アプリ開発者のスキルセットがよくわからず、多くのアプリや開発者がいる可能性があるため、ダーテイルボトムフレームにマージするために受け入れることができる出力を生成してもらいたいと考えています。使用します。

これまでに私に提案されたさまざまなテクノロジーは次のとおりです。

  1. Apache FOP(XML-FO)
  2. DOCX
  3. itext
4

2 に答える 2

1

FOPを使用したソリューションは次のとおりです。

  • アプリケーションで、それぞれのデータを 2 つの XML ファイルに固定名で保存します。したがって、API は、データ プロデューサーが従わなければならない XML ドキュメント スキーマになります。

  • 完全な PDF のレイアウトを含む XSL ファイルを提供し、document() xsl 関数を使用して 2 つのファイルを読み戻します。

  • 複数のレポートを同時に処理するには、レポートごとに 1 つのディレクトリを使用します。

  • FOP はページネーションを処理します。

エンド ユーザーがレイアウトを構成できるようにしたい場合は、アプリケーションで定義された方法で xsl を変更させることができます。また、XSL をいくつかの部分 (最初のレポート用、2 番目のレポート用、全体のレイアウト用) に分割し、それらすべてを 1 つのマスター テンプレートにインポートすることもできます。

于 2012-12-09T08:49:18.383 に答える