我正在使用Itext来生成pdf,我需要执行类似Chunk.keepOnSameLine的操作。Itext在块上缺少换行符
我正在构建一个短语,可以有多个由多个块组成的行,当行结束时,我希望块不被破坏。
该块是一个名称和一个日期。例如:“约翰·史密斯(2016年1月13日11:13)”
的代码是一样
Phrase p = new Phrase();
Chunk c1 = new Chunk("FirstName LastName (2016-01-13 11:13)");
p.Add(c1);
Chunk c2 = new Chunk("FirstName LastName (2016-01-13 11:13)")
p.Add(c2);
Chunk c3 = new Chunk("FirstName LastName (2016-01-13 11:13)")
p.Add(c3);
Chunk c4 = new Chunk("FirstName LastName (2016-01-13 11:13)")
p.Add(c4);
Chunk c5 = new Chunk("FirstName LastName (2016-01-13 11:13)")
p.Add(c5);
Chunk c6 = new Chunk("FirstName LastName (2016-01-13 11:13)")
p.Add(c6);
Chunk c7 = new Chunk("FirstName LastName (2016-01-13 11:13)")
p.Add(c7);
(代码是动态的,所以我不知道将大块存在多少
。在结果短语表示像
然后将所得的短语添加到PdfPCell
我见过iText的具有从PDF文件导入文本时插入软连字符的倾向。我不知道相反的情况是否也是如此!您可以尝试在每个块的末尾粘贴一个软的hypen字符,以查看它是否会改变中断行为。 –
是的,问题是连字符是一个突破性的字符... – NunoRibeiro
软连字符不应该被渲染,它的唯一目的是暗示在哪里打破。希望在选择一个任意点来破解之前,它应该在软连字符上突破。 –