我对块文本中的换行处理感到有点困惑。以下代码
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 。
答案 0 :(得分:0)
默认情况下,iText为每个 Paragraph
的第一行设置缩进。您想要的是将此缩进空间设置为0.请参阅Paragraph.setFirstLineIndent(float)的API。