2016-12-30 1 views
0

PDF 파일을 읽을 때 PDFBox API 2.0.1 버전을 사용하고 있습니다. 나는 텍스트 속성을 추출하고 위의 코드에서 텍스트PDFBox에서 Character가 굵은 글씨인지 아닌지 확인하는 방법

@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

pdfbox- 2.0.1 버전에서 'getBaseFont()'메서드를 사용할 수 없습니다. – sagar

+0

은'text.getFont(). getName(). toLower()를 사용합니다. . 포함 ("굵은 글씨"). –

+0

글꼴 이름을 테스트하는 방법을 사용했지만 글꼴이 굵게 표시되는지 여부에 관계없이 글꼴 이름이 "Microsoft San Serif"로 반환되는 PDF를보고 있습니다. 그리고 getFontWeight는 굵은 글씨와 보통 글자 모두 0을 반환합니다. –

관련 문제