pdf.openPdfFile(pdfFile.toString());
pdf.setPageParameters(zoom, pageNum);
pdf.decodePage(pageNum);
BufferedImage pdfImage = pdf.getPageAsImage(pageNum);
PdfGroupingAlgorithms grouping = pdf.getGroupingObject();
PdfPageData page = pdf.getPdfPageData();
int x1 = page.getMediaBoxX(pageNum);
int x2 = page.getMediaBoxWidth(pageNum);
int y1 = page.getMediaBoxY(pageNum);
int y2 = page.getMediaBoxHeight(pageNum);
final SearchListener listener = new DefaultSearchListener();
List<Rectangle> highlights = grouping.findMultipleTermsInRectangle(
x1, y1, x2, y2,
page.getRotation(pageNum),
pageNum,
highlightTerms,
true, SearchType.DEFAULT, listener);
List<Rectangle> rectangles = new Vector<Rectangle>();
for (Rectangle r: highlights) {