0

このRTF Writer ライブラリを使用して RTF ドキュメントを生成しています。画像、表、テキストを追加して、要件の大部分を満たすことができます。

ただし、既に RTF 形式になっているテキストも追加したいと考えています。このテストは、書式設定を維持したまま追加する必要があります。つまり、追加する前にプレーン テキストに変換したくありません。

現在、フォーマットされた RTF にはすべてのドキュメント情報が含まれていますが、RichTextBox を使用してその部分を削除し、ドキュメントの関連部分のみが保持されるようにすることができます。これは、生成されたドキュメントに追加したい部分です。

事前にフォーマットされた RTF テキストの例を次に示します。

{\rtf1\ansi\ansicpg1252\deff0\deflang2057{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\uc1\pard\f0\fs17 here is some RTF}

通常、.Net RTF Writer を使用してテキストを追加すると、次のことができます。

var par = doc.addParagraph();
par.setText("Here is some text");

これを変更して、書式設定済みの RTF テキストを追加できるようにするためにできることはありますか?


補足: これが不可能な場合は、必要なことを実行できる代替ライブラリ (商用利用は無料) を提案します。明らかに、これらに対する提案は、回答ではなくコメントとして適しています。

4

3 に答える 3

2

これは、RTF Writer ライブラリを使用して行うことはできないようです。他の RTF データの読み込み、解析、またはマージをサポートしていないようです。


価値があるのは、要件が変更されたため、これを行う必要がなくなったことです。しかし、私は自分の RTF パーサーとマージ ツールを作成する寸前でした。RTF 形式がスタイルを処理する方法が原因で、RTF のマージはコピー/貼り付けのように単純ではありません。フォントや色などのスタイルはヘッダー テーブルで定義されるため、マージがより複雑になります。

自分で何かを試してみたいと思っている人は、役に立つ情報を見つけることができるかもしれません:ここここここ.

于 2013-10-08T10:37:53.463 に答える
0

別の方法があります: HTML (および必要に応じて CSS) を生成し、それをPD4ML.NETを使用して RTF に変換します。HTML コードは、RTF マークアップよりも混乱が少ないはずです。

HTML テンプレート (ロゴ、フッターなど) を作成し、コードから動的データを入力することをお勧めします。ドキュメント レイアウト全体をプログラムする必要がなくなり、レイアウトの調整もはるかに簡単になります。

于 2013-12-05T07:31:39.927 に答える
0

You can create a new richtextbox, copy and paste into it the already existing document, followed by the preformatted text.

于 2013-10-09T01:00:47.987 に答える