Для данного общего документа PDF у вас нет возможности узнать, где заканчивается одна страница, а другая начинается, по крайней мере, с использованием PDFBox.
Если вас интересует использование ресурсов, я предлагаю вам проанализировать документ pdf в COSDocument, извлечь проанализированные объекты из COSDocument с помощью .getObjects (), который даст вам java.util.List. Это должно быть легко вписаться в любые ваши скудные ресурсы.
Обратите внимание, что вы можете легко конвертировать проанализированные PDF-документы в индексы Lucene через API PDFBox.
Кроме того, прежде чем углубляться в страну оптимизаций, убедитесь, что они действительно вам нужны. PDFBox в состоянии сделать представление в памяти довольно больших документов PDF без особых усилий.
Для анализа документа PDF из InputStream посмотрите COSDocument class
Для написания люценовых индексов посмотрите LucenePDFDocument class
Для представления в памяти COSDocuments, смотрите FDFDocument