1

iTextSharp を使用して PDF を作成しています。

プロセスの一部では、簡単なテキストを PDF に追加し、別の部分では同じテキストのアウトラインを作成します。

簡単なテキストの側面については、iTextSharp の ShowTextAligned メソッドを使用しています。これには Basefont が必要で、スタイルを設定する方法がありません。

アウトラインについては、ポイントを取得するために GDI GraphicsPath を作成しています。ポイントは、PDF 曲線/線などに変換されます。AddString メソッドには Drawing.FontStyle が必要です。

今私の問題は、AddString のスタイルを BaseFont で使用されているのと同じスタイルに設定する必要があることです。IE Basefont がレギュラーをレンダリングしている場合、AddString フォントスタイルをレギュラーに設定する必要があります

ShowTextAligned の BaseFont で使用されているスタイルを確認するにはどうすればよいですか?

詳細情報:

ColumnText も使用してみました。これにより、iTextSharp フォントとそのスタイルを設定できます。ただし、この方法を使用すると、おおよそのスタイルでレンダリングされるフォントが生成されます。IE は、通常は通常のフォントで太字に設定されているため、わずかに不正な太字フォントになります。

編集

BaseFont を ShowTextAligned に渡す必要があると言うとき、私が言いたいのは、このメソッドを使用するには、最初に PdfContentByte の SetFontAndSize を使用してフォントとサイズを設定する必要があるということです。BaseFont を必要とするのはこのメソッドです。

私は明らかな何かが欠けているに違いないことを知っています..私は木のための木を見ることができません:)

4

2 に答える 2

2

事前にベースフォントを定義して、PDFドキュメント全体で使用することができます。

iTextSharp-フォントの操作を参照してください

サンプルコード:

BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);

Font times = new Font(bfTimes, 12, Font.ITALIC, Color.RED);

上記の行はBaseFontオブジェクトを作成し、組み込みの定数値を使用してフォントファミリとエンコーディングを設定します。また、PDFドキュメント内にフォントを埋め込む場合はfalseを指定します。新しいFontオブジェクトは、BaseFontオブジェクトを使用して作成され、さらにフォントサイズをポイント、スタイル、および色で設定します。これらの値にiTextSharpの定数を使用します。

BaseFontの詳細については、そのクラス定義を参照してください。

于 2012-10-02T16:36:23.803 に答える
0

SetColorFill メソッドを使用できます。このような

content.BeginText();
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252,BaseFont.NOT_EMBEDDED);
content.SetFontAndSizebaseFont, 12);
BaseColor baseColor = new BaseColor(255, 0, 0);
content.SetColorFill(baseColor);
//or use predefined colors 
content.SetColorFill(BaseColor.RED);
// use ShowTextAligned method
content.EndText();
于 2015-06-22T13:07:18.503 に答える