5

これは実際には実際に閉じられている質問を参照しています

IamはItextSharp5.2.1を使用しています。

PdfContentByteを使用してヘッダーテキストに下線を付けたい。解決策を教えてください。

4

1 に答える 1

6
private PdfContentByte pdfContentByte;



 private string DescriptionToPrint="Hii!! I will be underlined."
  private Int32  AlignmentofDescription = 3;
  private float  XofDescription = 110;
  private float  YofDescription = 440;
  private float  RotationofDescription = 0; 

pdfcontentbyteを使用してPDFを作成するには、通常、次のものを使用します。

(開始テキストと終了テキスト)

フォーマット

pdfContentByte.BeginText();
    pdfContentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, DescriptionToPrint.ToString(), XofDescription, YofDescription, RotationofDescription);
    pdfContentByte.EndText();

上記の手法の代替手段もありますが、これも静かで柔軟です。

pdfcontentbyteこれは、使用に適用したのと同じフォーマットが必要な場合です。BaseFont

//ColumnText.ShowTextAligned(pdfContentByte, Element.ALIGN_LEFT, new Phrase(DescriptionToPrint), XofDescription, YofDescription, RotationofDescription);

テキストに下線を付けたい場合は、内部のPhrase場所Chunk

  ColumnText.ShowTextAligned(pdfContentByte, Element.ALIGN_LEFT, new Phrase(new Chunk(DescriptionToPrint.ToString(), FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.UNDERLINE))), XofDescription, YofDescription, RotationofDescription);

ここでは、以下の行が実際に修正されています。

new Phrase(new Chunk(DescriptionToPrint.ToString(), FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.UNDERLINE)))

ColumnTextの場合、new Phrase 実際にはアクセスを許可していなかったフォントプロパティにアクセスできるテキストを提供する必要base fontがあります。

内部Phrase Chunkは、テキストに必要なフォーマットを提供しています。

それらは、の使用に関してネット上で利用可能な多くの例です。chunk

this(20.25)のようなfloat値を渡したい場合、これらはこのクラスでdoubleとして認識され、 "20.25f"を使用すると、floatと見なされ、機能します...

于 2012-06-28T07:25:14.130 に答える