【发布时间】:2016-01-13 11:26:36
【问题描述】:
我正在使用 Itext 生成 pdf,我需要执行 Chunk.keepOnSameLine 之类的操作。
我正在构建一个短语,它可以包含由多个块组成的多行,当行结束时,我希望块不被破坏。
块是名称和日期。例如:“约翰·史密斯 (2016-01-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);
(代码是动态的,所以我不知道会有多少块存在。
结果短语显示为like
然后将生成的短语添加到 PdfPCell
【问题讨论】:
-
我看到 Itext 在从 PDF 导入文本时倾向于插入软连字符。我想知道相反的情况是否也是如此!您可以尝试在每个块的末尾添加一个软连字符,看看它是否会改变中断行为。
-
是的,问题是连字符是一个中断字符...
-
不应呈现软连字符,它的唯一目的是提示在哪里中断。希望它应该在选择任意中断点之前中断软连字符。
-
但我的意思是中断应该在名字之前,而不是在块的中间
-
你可以尝试在块的末尾添加一个软连字符:)
标签: itext