Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用PDFBox获取pdf中的字符是否粗体_Java_Pdfbox - Fatal编程技术网

Java 如何使用PDFBox获取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

我正在使用PDFBox API 2.0.1版本来读取PDF文件。我想提取文本属性,并编写以下代码以获取文本的粗体属性

@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。