c#itextsharp绝对文本位置多行

时间:2018-04-19 17:21:14

标签: c# text location itext multiline

我需要在pdf文档中找到多行文字。我找到了两个可能性

ColumnText.ShowTextAligned(writer.DirectContent, Element.ALIGN_LEFT, new Phrase(textPhrase), calculatedX,calculatedY, -rotation);

但是当我以这种方式找到文本时,我只能看到第一行和所有其他行被切割。

TextField tf = new TextField(writer,
                new Rectangle(calculatedX, calculatedY, calculatedX + width, calculatedY + height), "");
tf.Text = text;
tf.FontSize = font.Size;
tf.Font = font.BaseFont;
tf.Options = BaseField.MULTILINE | BaseField.READ_ONLY;
tf.TextColor = font.Color;
writer.AddAnnotation(tf.GetTextField());

这很好用,我可以看到所有行,但问题是我无法设置像Bold下划线的属性....

你能帮我找到一种方法,我可以看到所有的线条和设置属性,如粗体,下划线......

1 个答案:

答案 0 :(得分:0)

我找到了一种方法:

Phrase phrase = new Phrase(text);
            phrase.Font.Size = font.Size;
            phrase.Font = font;

            ColumnText ct = new ColumnText(writer.DirectContent);
            ct.SetSimpleColumn(calculatedX, calculatedY, calculatedX + (width), calculatedY + height);
            ct.AddElement(phrase);
            ct.Go();