如何在itextsharp中使用PdfContentByte为文本加下划线

时间:2012-06-28 07:03:18

标签: itextsharp

这实际上是指实际关闭的Question

我使用ItextSharp 5.2.1。

我想使用PdfContentByte使标题文字加下划线。请给我解决方案。

1 个答案:

答案 0 :(得分: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);

如果您想为文字加下划线,请在PhraseChunk

  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

的例子

如果你想像这样传递浮动值(20.25) 这些将被本课程认定为双倍 使用“20.25f”然后它们将被视为浮动并将起作用...