Une solution possible consiste à obtenir le flux de la page et à effectuer une recherche regex pour les opérateurs de paramétrage de la couleur.
byte[] contentStream = pdfRdr.getPageContent(pageNo);
Presque tout le contenu d'une page PDF est du texte ou un objet graphique. La couleur est définie à l'aide des opérateurs spécifiés après jusqu'à quatre valeurs à virgule flottante:
f1 .. fn SC % you need to know more about the colour space to determine whether this is black or not
fq .. fn sc
f1 f2 f3 RG % 0 0 0 would be black 1 1 1 would be white
f1 f2 f3 rg
f1 f2 f3 f4 K % CMYK (0 0 0 1 = Black, 0 0 0 0 = White, I think)
f1 f2 f3 f4 k
f1 g % the g operator choose the greyscale colour space
g1 G
Je peux imaginer que cela pourrait être difficile à obtenir le droit. Une solution plus pragmatique pourrait être de convertir la page en image (en utilisant l'un des nombreux outils que vous pouvez google pour) et ensuite inspecter l'image.
Je ne connais pas de lib qui pourrait vous aider, mais je peux vous dire que itext sera très utile car lorsque vous lisez un pdf en utilisant itext tout le formatage est supprimé. – user979490