5

这实际上是指实际关闭的问题

我正在使用 ItextSharp 5.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

如果你想传递这样的浮点值(20.25),这些将被此类使用“20.25f”识别为双精度,那么它们将被视为浮点数并且可以工作......

于 2012-06-28T07:25:14.130 回答