2016-08-23 4 views
1

私たちの医療機器は患者のデータと画像を生成します。病院は、A4のページ、特定の場所のバーコード、特定のページの余白など、患者の詳細と画像を含むPDF文書を受信したいとします。PDFを操作するC#PDFライブラリ

このPDFを空白から組み立てたくありません私がこれを行うと数千行のコードを書く必要があり、別の形式を望む別の顧客がいるときは、これらの何千ものコード行を再び書き直す必要があるからです。また、お客様がフォーマットの変更を望む場合は、新しいリリースを行う必要があります。

「メールマージ」スタイルで作成したい:私は、レポートテンプレート、バーコード、ヘッダーとフッターとその他すべての静的コンテンツを含むすべての準備が整ったドキュメントを作成します。 "[@ PatientFirstName @]"、 "[@ PatientLastName @]"、 "[@ PatientPreviousVisitsTable @]"などのような、患者の詳細と画像のための特別なプレースホルダがあります。私のコードはこのテンプレートのコピーを作成し、それらの特別なプレースホルダを見つけて、それらを実際のデータや画像に置き換えます。このように、異なるクライアントが異なるフォーマットを望むならば、私が必要とするのはこのテンプレートを編集することだけです。私のコードは同じままです。

これは、このライブラリを使用して既存のPDFで検索や置換を行い、段落、表、イメージを任意の場所に挿入できることを意味します。および画像の解像度。

どうすればよいですか?つまり、私はそれを可能にするC#APIがありますか?

+1

PDFはタイプセットのためのフォーマットであり、実際にテキストを簡単に操作できるように設計されていないことに注意してください。中間形式(DOCXなど)で作業し、その形式で置換を行い、結果の文書を外部のPDFコンバータ(プリンタドライバやスタンドアロンプ​​ログラムにすることができますが、後者は通常は独自仕様です)ライセンスには高価です)。 –

+0

私はBradleyに同意しますが、これは実際には通常これらの種類の作業が通常どのように行われるかです。入力テンプレートドキュメントをフロードキュメントタイプ(DOCXやHTMLなど)で作成し、処理後にPDFやXPSなどの固定ドキュメントタイプに変換します。興味のある場合は、[GemBox.Document](http://www.gemboxsoftware.com/document/overview)ライブラリを使用して、入力テンプレートを簡単に読み込んで、差し込み印刷を実行し、結果として保存することができますPDFファイル(この例[http://www.gemboxsoftware.com/Document/Examples/MergeFields/901])を参照してください。 –

答えて

2

Html Renderer for PDFSharp (NuGet)をチェックアウトすることをお勧めします。これを使用して、HTMLをPDFに変換することができます。

つまり、テンプレート(@プレースホルダーを含む)をデータベースに保持し、HTMLテンプレートに値を動的に入力してPDFに変換することができます。後でフォーマットを変更する必要がある場合は、HTMLテンプレートを変更するだけです。

検索と置換に関して、PDFに変換する前にHtmlマークアップを保存すると、Htmlマークアップで検索と置換を行い、新しいHtmlマークアップからPDFを再生成できます。

クライアントに送信するためのPDFを生成します。しかし、他のすべてのシステム処理のための生のHTMLを扱う。

+0

ご協力ありがとうございます!私はこれが正しい道だと思う! –

1

https://sourceforge.net/projects/itextsharp/を試すことができます。作成、更新など多くの機能からPDFに何かをする力を与える素晴らしいライブラリです。画像、段落、表も追加できます。