1

私はc#プロジェクトでPDFSharpを使用しています。以前の職場では、asposeのPDFコンポーネントを使用し、そのコンポーネントでASPOSEがxmlテンプレート機能を提供しました。この機能では、PDFドキュメントテンプレートをxml形式で定義してハードドライブに保存し、c#コードからそのテンプレートを開いていました。私のデータをポンピングし、結果としてそれはpdfを書いていました。

静かで速く、パフォーマンスを出すことができました。

PDFSharpまたは他の無料のオープンソースコンポーネントを使用して同じことを達成できますか?

つまり、PDFドキュメントをxml形式で定義し、pdfshparやItextなどのオープンで優れたオープンソースコンポーネントから使用したいということです。

助けてください

ありがとう

4

2 に答える 2

5

あなたがまだこれに取り組んでいるかどうかはわかりませんが、これが私が試したことです。

MigraDocは、MDDDL形式をインポートして解釈できます。これを使用すると、テンプレートのすべての静的テキストを含む「テキスト」ファイルを簡単に作成できます。動的なものになると、すべてはあなたが追加しているものに依存します:

  • テキストの場合は、ASP.Netなどの書き込み時のようにマーカーを追加するだけです。<%MyMarker%>
  • <%ImageURL%>画像の場合は、画像のURLやコメントなどにマーカーを入れてみてください
  • テーブルの場合、これは複雑になります。
    • <%dataTable%>コメントにマーカー付きの空白のテーブルを置くことができます
    • 列と最初の行(ヘッダーがある場合)を含むテーブルを作成し、コメントにマーカーを配置できます
    • 2つのテーブルを作成できます。1つは「空のデータ」用で、もう1つは前の列と最初の行のようなものです。この場合、マーカーは<%MyTable{0}%>、空のテーブル<%MyTable{1}%>のコメントやソースのデータの場合のコメントのようになります。

MigraDocが「テンプレート」をロードすると、要素を再帰的にスキャンしてマーカーを置き換えるのは簡単です。これはドキュメントを作成するための最速の方法ではないかもしれませんが、クライアントがレポートにスペースを追加するたびにアプリケーション全体を再コンパイルする必要がなくなります。

于 2012-10-22T09:27:07.317 に答える
0

PDFsharp/MigraDocはXMLテンプレートをサポートしていません。

コード(任意の.NET言語)からドキュメントを作成し、必要な場所にデータを取り込むことができます。

これは通常のレポートジェネレータよりも少し手間がかかるかもしれませんが、テンプレートベースのソリューションよりもはるかに柔軟性があります。

于 2011-12-31T18:35:24.410 に答える