J'ai été jouer avec PdfBox et PDFTextStripperByArea méthode.
J'ai été en mesure d'extraire de l'information si le texte est en gras ou en italique, mais je ne suis pas en mesure d'obtenir le soulignement de l'information.
Aussi loin que je le comprends en PDF, le soulignement est fait par le dessin des lignes. Donc, en théorie, je devrais être en mesure d'obtenir une sorte de d'informations sur les lignes, quelque part dans le texte. En donnant cette information, j'ai pu alors de savoir si le texte est souligné ou dans un tableau.
Voici mon code pour l'instant:
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;
}
}
}
J'ai essayé de jouer autour de la PDGraphicsState objet qui est traitée dans les processEncodedText méthode dans PDFStreamEngine classe, mais aucune information de lignes s'y trouvent.
Toutes les suggestions où ces informations peuvent être récupérées à partir ?