2017-06-17 158 views
0

我是pdfbox和java的新手 - 尝试复制带有徽标格式的pdf字母等。我需要使用混合字体(粗体)在一个句子中。目前附加段落字符串,使用WordUtils.wrap,然后begin.Text等来解析和显示(drawString有删除线不能选择这个 - 我确实找到使用它的多字体的信息)。由于字段值在文本和长度上会有所不同,因此我无法简单地搜索,拆分和更改要显示的字体。无法使用标签来做到这一点(OMG我试过了我能想到的所有东西!),但希望有一种方法可以使用单个字符标识符作为粗体开头,而另一个粗体结尾使用?一个问题是,不能保证标识符会在段落的同一行上结束。啊。其他的一切都是完美的,除了我需要大胆的文字。有没有人有什么建议??我需要使用pdfbox才能完成此操作 - 无法使用Itext。请帮助!谢谢!!PDFBOX - WordUtils.wrap - 需要在同一行上显示粗体和非粗体文本

+1

PDFBox是低级别的,不会为您创建段落/格式。有什么可以帮助的是这些URL,因为它全部是关于长度和定位:https://stackoverflow.com/questions/13701017/calculation-string-width-in-pdfbox-seems-only-to-count-characters和https:/ /stackoverflow.com/questions/27600166/calculate-correct-width-of-a-text。我建议你编辑你的问题,以显示你做了什么代码,以及你想做什么。 (不是所有的问题,只有一个)。 –

+0

'WordUtils.wrap' - 你的意思是apache commons工具吗?除非只使用等宽字体,否则应考虑换行的单个字形宽度,参见参考资料。例如[这个答案](https://stackoverflow.com/a/19683618/1729265)。 – mkl

回答

0

已解决 - 我想通了。谢谢你的建议!我不想使用定位,需要尽可能简单 - 我们最终需要实现数百个字母。我严格使用Utils.wrap作为行解析器,而不是格式化,所以很酷。使用2个标识符 - 3个检查 - 1)在同一行上,2)在一行上开始粗体,以及3)在另一行上以粗体结尾。使用拆分字符串“”并检查等于标识符。格式是完美的。如果出于某些疯狂的原因标识符包含在字母文本中,则可能需要进行修改。它适用于第一次推出。
再次感谢 - 您的帮助非常感谢!