私は 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 オブジェクトをいじってみましたが、行の情報は見つかりませんでした。
この情報をどこから取得できるかについての提案はありますか?