我一直在玩 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;
}
}
}
我试图玩转在PDFStreamEngine类的processEncodedText方法中处理的 PDGraphicsState 对象,但在那里没有找到行的信息。
可以从中检索此信息的任何建议?