PDF 查找文本是否带有下划线或表格单元格
我一直在玩PdfBox和PDFTextStripperByArea方法。
如果文本是粗体或斜体,我能够提取信息,但我无法获得下划线信息。
据我所知,在PDF中,下划线是通过绘制线条来完成的。因此,从理论上讲,我应该能够获得有关文本周围某处的行的某种信息。提供这些信息,然后我可以找出文本是带下划线还是在表格中。
这是我到目前为止的代码:
List<TextPosition> textPos = charactersByArticle.get(index);
for (TextPosition t : textPos)
{
if (t.getFont().getFontDescriptor() != null)
{
if (t.getFont().getFontDescriptor().getFontWeight() > BOLD_WEIGHT ||
t.getFont().getFontDescriptor().isForceBold())
{
isBold = true;
}
if (t.getFont().getFontDescriptor().isItalic())
{
isItalic = true;
}
}
}
我试图绕过PDGraphicsState对象,该对象在PDFStreamEngine类的processEncodedText方法中处理,但没有找到行的信息。
可以从中检索此信息的任何建议?