换行处理块/短语

时间:2012-05-02 07:53:57

标签: java itext

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

  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”前面都有两个空格字符。

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

  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

1 个答案:

答案 0 :(得分:0)

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