/** * This method initializes an outline tree of the document and sets outline mode to true. */ public void initializeOutlines() { checkClosingStatus(); getOutlines(false); }
/** * This method copies all given outlines * * @param outlines outlines to be copied * @param toDocument document where outlines should be copied */ private void copyOutlines(Set<PdfOutline> outlines, PdfDocument toDocument, Map<PdfPage, PdfPage> page2page) { Set<PdfOutline> outlinesToCopy = new HashSet<>(); outlinesToCopy.addAll(outlines); for (PdfOutline outline : outlines) { getAllOutlinesToCopy(outline, outlinesToCopy); } PdfOutline rootOutline = toDocument.getOutlines(false); if (rootOutline == null) { rootOutline = new PdfOutline(toDocument); rootOutline.setTitle("Outlines"); } cloneOutlines(outlinesToCopy, rootOutline, getOutlines(false), page2page, toDocument); }
/** * This method gets outlines of a current page * * @return return all outlines of a current page */ public List<PdfOutline> getOutlines(boolean updateOutlines) { getDocument().getOutlines(updateOutlines); return getDocument().getCatalog().getPagesWithOutlines().get(getPdfObject()); }
public static void addBookMark(Book book,String src,String dest){ PdfDocument pdfDoc = null; try { pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest)); PdfOutline root = pdfDoc.getOutlines(false); PdfDocumentInfo info=pdfDoc.getDocumentInfo(); info.setTitle(book.getName()); info.setAuthor(book.getAuthor()); List<Node> nodes = book.getOutline(); addOutline(nodes, root, pdfDoc); pdfDoc.close(); } catch (IOException e) { e.printStackTrace(); } }
public static void addBookMark(Book book,String src,String dest){ PdfDocument pdfDoc = null; try { pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest)); PdfOutline root = pdfDoc.getOutlines(false); PdfDocumentInfo info=pdfDoc.getDocumentInfo(); info.setTitle(book.getName()); info.setAuthor(CoreService.baseUrl+"/book/"+book.getId()); List<Node> nodes = book.getOutline(); addOutline(nodes, root, pdfDoc); pdfDoc.close(); } catch (IOException e) { e.printStackTrace(); } }