Одним из возможных решений является получение потока страниц и поиск по регулярному выражению операторов настройки цвета.
byte[] contentStream = pdfRdr.getPageContent(pageNo);
Почти весь контент на странице PDF представляет собой текст или графический объект.Цвет устанавливается с помощью операторов, указанных после четырех значений с плавающей запятой:
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
Я могу представить, что это может быть сложно сделать правильно.Более прагматичным решением может быть преобразование страницы в изображение (с помощью одного из множества инструментов, для которого вы можете использовать Google), а затем проверка изображения.