代码之家  ›  专栏  ›  技术社区  ›  A. Schmidt

c#itextsharp绝对文本位置多行

  •  0
  • A. Schmidt  · 技术社区  · 6 年前

    我需要在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());
    

    这很好,我可以看到所有的行,但问题是我不能设置粗体下划线之类的属性。。。。

    你能帮我找到一种方法,我可以看到所有的线条,并设置粗体、下划线等属性。。。

    1 回复  |  直到 6 年前
        1
  •  0
  •   A. Schmidt    6 年前

    我找到了一种方法:

    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();