2

会社から提案された約 3000 製品のリレーショナル データベース (PostgreSQL 8.4) があります。このデータベースは、会社の Web サイト (python 2.6 アプリケーションで実行) で製品を表示するために使用されます。私の最終的な目標は、製品カタログの紙のバージョンを印刷するために PDF ファイルを作成することであり、そのためにどのテクノロジーを使用すればよいか知りたいです。この操作は、新しいカタログごとに年に 1 回繰り返す必要があるため、カタログの生成を自動化したいと考えていますが、会社に永遠に留まるわけではなく、後で代わりになる技術者もいないため、ある程度の柔軟性を持たせたいと考えています (小さな会社、小さな予算)。

理想的には、次の理由から、3000 製品の構造化されたコンテンツをテキスト エディター (たとえば OpenOffice など) で動的に生成したいと考えています。

  • コンテンツは動的に生成されるため、すべてを再入力する必要はありません
  • コンテンツ構造のみが動的に生成され、スタイリングは生成されないため、技術者以外のユーザーでもスタイルをカスタマイズできます。
  • ドキュメントは編集可能であるため、技術に詳しくないユーザーでも、ウェルカム ページ、メモ ページ、契約条件などのページをカタログに簡単に追加できます。言い換えれば、テキスト エディターは素晴らしいものです。車輪を再発明したくはありませんが、3000 製品のすべてのデータを再入力する必要はありません。

Soutions が最初に見たもの:

  • LaTeX を見てみましたが、コンテンツとスタイリングを明確に分離する HTML と CSS とは対照的に、データとスタイリングが混在しているように見えます。
  • HTML と CSS を直接使用することも考えましたが、技術的すぎる可能性があります。
  • また、ReportLab ( http://www.reportlab.com/software/documentation/tutorial/product-catalogue/ ) のような Python から直接 PDF を生成できるライブラリも調べました。ただし、これは PDF がビルドされた後は何も変更できず、少しの変更には技術者が必要になる場合があります。

ですから、この種の仕事についてアイデアをお持ちでしたら、適切な技術についてのヒントをいただければ幸いです。どうもありがとうございました。

4

4 に答える 4

1

OpenDocument Format (ODF) アプローチ

どうして:

  • これは、長期的なソリューションを保証するオープンな形式であり、費用はかかりません (小規模な会社、小規模な予算)。
  • コンテンツとスタイルを分離します。
  • OpenOffice.org、LibreOffice など、成熟した無料のオープン ソース ソフトウェアと互換性があります。また、これらはプログラマー以外のユーザーでも簡単に使用できます。

どのように:

ODF 形式は非常に複雑ですが、ファイルの生成を支援するいくつかのライブラリが既に存在し、Python で利用できるものもあります: odfpylpodJODreportsApache odf toolkit、...そして、それらは仕事をしているようです!

同様の質問ですが、Javaの場合

于 2013-06-28T13:08:20.607 に答える
0

データベースの公開

はい、Martin Schroeder が指摘しているように、これはデータベースの公開に関するものです。最近の同様の特定の質問は、podツールを使用して LibreOffice ODT ファイルを生成することに関するものです。

ポッドアプローチでは Python を使用します。Python ステートメントは ODF テンプレート ファイルにあります。このアプローチは、どのスクリプト言語でも使用できます。

LibreOffice Writer には、「フラット XML」ファイル形式もあります。データベース公開バッチ プロセスでは、特定のプレース ホルダーをデータベースから生成された XML コードに置き換える必要があります。これは、「フラット XML」ファイルを調べて特定のキーワードまたはコマンドを検索し、それらを実行するインタープリターによって行われる場合があります。

利点 このアプローチの利点は、一般ユーザーが LibreOffice を使用するだけでレポートを変更できることです。バッチ プログラムによって解釈される挿入コマンドは、適切な場所に簡単に配置できます。これらのコマンドはDSLの形式を持つ場合があります。

于 2013-06-27T20:36:02.010 に答える
0

あなたが探しているのは、データベースの公開と呼ばれます。これは、バッチ フォーマッタ (TeX や XSL-FO など) を使用するか、100% 自動化する必要がない場合は、InDesign や Quark などの DTP プログラム用のアドオンを使用して実行できます。

于 2013-06-25T20:06:07.543 に答える