我对块文本中的换行符处理有点困惑。以下代码
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。