2016-12-30 65 views
0

我正在使用PDFBox API 2.0.1版來閱讀PDF文件。我想提取文本屬性,並寫入下面的代碼獲取文本如何使用PDFBox得到pdf中的字符是否爲粗體

@Override 
protected void processTextPositon(TextPosition text) 
{ 
    System.out.println(text.getFont().getFontDescriptor().getFontWeight()); 
} 

的bold屬性從上面的代碼,我正在爲每個字符0.0偶數雖然性格大膽。 請建議解決方案。提前致謝。

+0

字體重量是一個可選項,在你的情況下它最有可能不存在。你可能想看看[這個舊的答案](http://stackoverflow.com/a/19777953/1729265)。 – mkl

+0

當前版本爲2.0.4(不會改變任何關於您的問題) –

回答

1

使用FontDescriptor.getFontWeight()無法確定文本是否爲粗體。

我傾向於使用text.getFont().getBaseFont().Contains("bold")來提取粗體文本。

+0

'getBaseFont()'方法在pdfbox-2.0.1版本中不可用 – sagar

+0

使用'text.getFont()。getName()。toLower() 。載有( 「大膽」)'。 –

+0

我已經使用測試字體名稱的方法取得了一些成功,但我正在查看PDF,其字體名稱以「Microsoft San Serif」的形式返回,無論字體是粗體還是不粗體。 getFontWeight在粗體和普通字符串上都返回0。 –

相關問題