List of usage examples for org.apache.pdfbox.pdmodel PDPage equals
@Override public boolean equals(Object other)
From source file:fr.aviz.hybridvis.utils.PDF.MultiScalePDFViewer.java
License:Open Source License
private int findPageNumber(PDDocument doc, PDPage page) { int pageCounter = 0; Iterator iter = doc.getDocumentCatalog().getAllPages().iterator(); while (iter.hasNext()) { // get next page PDPage current_page = (PDPage) iter.next(); ++pageCounter;//from w w w . ja va2 s .c o m if (current_page.equals(page)) return pageCounter; } return -1; }
From source file:ru.elibsystem.elis.utils.pdf.PdfToc.java
License:Apache License
/** * This will print the documents bookmarks to System.out. * * @param bookmark The bookmark to print out. * @param level A nesting level/*from w ww .j ava 2 s . com*/ * * @throws IOException If there is an error getting the page count. */ protected void printBookmark(PDOutlineNode bookmark, Integer level) throws IOException { PDOutlineItem current = bookmark.getFirstChild(); while (current != null) { int pageIndex = 0; // first page int pageNumber = 1; // first page List<PDPage> pages = document.getDocumentCatalog().getAllPages(); for (PDPage page : pages) { if (page.equals(current.findDestinationPage(document))) { break; // pageNumbed finded } pageNumber++; pageIndex++; } String out = pageNumber + " " + level + " " + current.getTitle(); if (!isOutInFile()) { System.out.println(out); } else { getOutFileWriter().write(out + System.lineSeparator()); } printBookmark(current, level + 1); // reverse loop on ToC current = current.getNextSibling(); } }