2017-06-17 171 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)在另一行上以粗體結尾。使用拆分字符串「」並檢查等於標識符。格式是完美的。如果出於某些瘋狂的原因標識符包含在字母文本中,則可能需要進行修改。它適用於第一次推出。
再次感謝 - 您的幫助非常感謝!