2

我对块文本中的换行符处理有点困惑。以下代码

  Paragraph para = new Paragraph();
  para.add(new Chunk("  A"));
  para.add(new Chunk("\n  B"));
  para.add(new Chunk("\n  C"));
  document.add(para);

添加一段 3 行,其中生成的 pdf 文档中的第一行略微向右移动,而我期望这些行从相同的确切水平位置开始。请注意,每个字母“A”、“B”、“C”前面都有两个空格字符。

如果我在第一个块中也使用换行符,则三行在输出文档中完全水平对齐:

  Paragraph para = new Paragraph();
  para.add(new Chunk("\n  A"));
  para.add(new Chunk("\n  B"));
  para.add(new Chunk("\n  C"));
  document.add(para);

所以问题是:为什么在块文本上出现换行符会影响文本本身的水平位置?

我使用的 iText 版本是5.2.1

4

1 回答 1

0

默认情况下,iText 为每个Paragraph. 您想要的是将此缩进空间设置为 0。请参阅 API 的Paragraph.setFirstLineIndent(float)

于 2012-05-02T08:13:11.547 回答