1

私の Qt アプリケーションでは、PDF レポートを出力したいと考えています。レポートは、特定の顧客向けにわずかに変更できる必要があります。私の考えは、レンダリングされた QWebkit ビューから QPrinter を使用して PFD を作成することでした。レンダリングされた QML も機能します。非常に柔軟なレイアウトのカスタマイズ (CSS/HTML または QML) を使用して PDF レポートを作成するのは非常に簡単で、プロジェクトに追加のソフトウェアパッケージを学習/導入する必要はありません。

誰かがそのような実装をすでに知っていますか? オープンソース (無料または商用) にする必要がありますか? 私のウィッシュリストは:-)

  1. できればクライアント アプリケーションから QImage/QPixmal として提供される画像を表示できる必要があります。
  2. すべての変数を QMap として受け入れるか、Postgres DB から値を照会できる必要があります。
  3. コードとして埋め込むか、ライブラリとしてリンクする必要があります

編集 はすでにチェックされています:

  1. QtRPT - かなり実験的で未熟。多くの魔法、コード内のロシア語のコメント。
  2. NCReport - オープンソース コードは古すぎます。最終更新は 2007 年です。Qt4.8.4 ではコンパイルできません。新しいバージョンは、商用ライセンスの下で提供されます。商用バージョンは非常に成熟しているように見え、優れたドキュメント (約 100p) がありますが、html/QML をレンダリングするソフトウェアを探しているので、レポートを作成/維持するための HTML 開発者を注文できます。
4

2 に答える 2

2

QWebKit (Qt バージョン 5.1) を使用して、そのようなレポート ジェネレーターを作成しました。ただし、オープンソースではありません。

最大の問題は、WebKit (または私が試したブラウザーのレイアウト エンジン) が印刷でうまく動作しないことです。CSS 標準は印刷をカバーしていますが、レイアウト エンジンはその機能を実装していないか、部分的にしか実装していません。したがって、ヘッダーとフッター、ページ番号、複数の用紙サイズのサポート、横向きと縦向きの両方のサポートなどの機能が必要な場合は、多くのグーグル検索とテストを行う必要があります. 期待どおりに機能するものはほとんどないため、回避策を考案し、醜いハードコーディングを行う必要があります。

したがって、QWebKit を使用してレポート ジェネレーターを作成できます。それは楽しくないし、Qt と QWebKit の新しいバージョンはおそらく何かを壊すでしょう。そのため、メイン アプリケーションとレポート ジェネレーターで異なる Qt バージョンを使用できるように、レポート ジェネレーターを別のアプリケーションにすることをお勧めします。少なくともレポート ジェネレーターは、必要に応じて後でメイン アプリケーションから分離できるように設計してください。

于 2013-08-12T16:19:07.343 に答える