java - 如何将特定单词放在一行上?

标签 java itext itextpdf

我有一个示例段落,我正在将 block 值添加到:

p.add(firstname);
p.add(lastname);
p.add(phone);
p.add(login);

是否可以检测页面上 block 的位置?

例如,在段落中添加名字和姓氏,并且以下字符串(电话)超出页面中间,我添加

Chunk.NEWLINE

然后转到新行。

最佳答案

有更好的方法来实现你想要的。将不需要换行的所有空格替换为 \u00a0。这样,您就不必检查位置等。(只有计算每个 String 片段的宽度,这才有可能。)

例如,如果您这样做:

p.add("Valeriane\u0060Valerius 012\u0060345\u006067\u006089 valerianelogin");

String 只能分割在两个地方(除非你使用了太多的不间断空格,以至于占用了太多的空间,以至于你不想打破的部分甚至不适合一行)。

关于java - 如何将特定单词放在一行上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881239/

相关文章:

java - HQL QuerySyntaxException : unexpected token 错误

java - 执行我的 java 程序后,从 pubnub 获取正确的发布数据,但后来不正确

c# - iText 7 - 旋转文本未返回正确的角度

itext - 签署 PDF - 内存消耗

java - 在 JDBC 中对单个语句对象使用 batchExecute 和 execute 方法

c# - Java 中的类型

java - 是否可以使用 iText 以编程方式将 'Open a web link action' 操作添加到 acroform 字段?

c# - 尝试删除 asp.net 中的文件时出现错误

java - 如何使用itextpdf向pdf添加水印

java - SOLR tika 处理器无法完美抓取我的 PDF 文件