Hi
Please can somebody explain why the following code executes without error, but
the resultant PDF has nothing added or appended to it.
I am of course expecting to have a list of page links.
Thanks in anticipation of help.
static void addIndex(String filename) throws IOException {
PDDocument masterDoc = null;
try {
File masterFile = new File(filename);
masterDoc = PDDocument.load(masterFile);
if( masterDoc.isEncrypted() )
{
System.err.println( "Error: Cannot add
bookmarks to encrypted document." );
System.exit( 1 );
}
PDDocumentOutline outline =
new PDDocumentOutline();
masterDoc.getDocumentCatalog().setDocumentOutline( outline );
PDOutlineItem pagesOutline =
new PDOutlineItem();
pagesOutline.setTitle( "All
Pages" );
outline.appendChild(
pagesOutline );
@SuppressWarnings("unchecked")
List<PDPage> pages =
masterDoc.getDocumentCatalog().getAllPages();
for( int i=0; i<pages.size(); i++ )
{
PDPage page = (PDPage)pages.get( i );
PDPageFitWidthDestination dest = new
PDPageFitWidthDestination();
dest.setPage( page );
PDOutlineItem bookmark = new
PDOutlineItem();
bookmark.setDestination( dest );
bookmark.setTitle( "Page " + (i+1) );
pagesOutline.appendChild( bookmark );
}
pagesOutline.openNode();
outline.openNode();
masterDoc.save(filename);
} catch (COSVisitorException e) {
e.printStackTrace();
}
finally {
masterDoc.close();
}
}