Java 如何使用PDFBox获取pdf中的字符是否粗体
我正在使用PDFBox API 2.0.1版本来读取PDF文件。我想提取文本属性,并编写以下代码以获取文本的粗体属性Java 如何使用PDFBox获取pdf中的字符是否粗体,java,pdfbox,Java,Pdfbox,我正在使用PDFBox API 2.0.1版本来读取PDF文件。我想提取文本属性,并编写以下代码以获取文本的粗体属性 @Override protected void processTextPositon(TextPosition text) { System.out.println(text.getFont().getFontDescriptor().getFontWeight()); } 从上面的代码中,我得到了每个字符的0.0,即使字符是粗体的。 请提出解决方案。提前感谢。使用F
@Override
protected void processTextPositon(TextPosition text)
{
System.out.println(text.getFont().getFontDescriptor().getFontWeight());
}
从上面的代码中,我得到了每个字符的0.0,即使字符是粗体的。
请提出解决方案。提前感谢。使用
FontDescriptor.getFontWeight()
无法保证确定文本是否为粗体
我希望您使用
text.getFont().getBaseFont().Contains(“粗体”)
来提取粗体文本。字体权重是一个可选条目,在您的情况下,它很可能不存在。您可能想看看。当前版本是2.0.4(如果您有问题,将不会更改任何内容)'getBaseFont()'方法在pdfbox-2.0.1版本中不可用使用text.getFont().getName().toLower().Contains(“bold”)
。我使用了测试字体名称的方法,取得了一些成功,但我看到的是PDF,其中字体名返回为“Microsoft San Serif”,而不管字体是否粗体。getFontWeight在粗体和普通字符串上都返回0。