Am 13.10.2015 um 01:35 schrieb Maruan Sahyoun:
Hi,

I currently can't try it myself but

        PDDocument document = PDDocument.load(…)
         PDPage pageToInsert = new PDPage();
         PDPageTree pageTree = document.getPages();
         COSDictionary pagesDictionary = (COSDictionary) 
document.getDocumentCatalog().getCOSObject().getDictionaryObject(COSName.PAGES);
         COSArray kids = (COSArray) 
pagesDictionary.getDictionaryObject(COSName.KIDS);
         kids.add(0,pageToInsert.getCOSObject());
         pageToInsert.getCOSObject().setItem(COSName.PARENT, pagesDictionary);
         pagesDictionary.setInt(COSName.COUNT, 
pagesDictionary.getInt(COSName.COUNT) + 1);
        document.save(...);
         document.close();

Heh heh, after having looked at the source code, I think this should work fine. I thought there is some caching, but there isn't.

Tilman


BR
Maruan


Am 13.10.2015 um 00:23 schrieb Adam Retter <[email protected]>:

Thanks,

I have implemented it using merge, but unfortunately that almost
doubles my processing time :-(

The steps my app takes:

1. I take a PDF of almost 2000 pages and add a footer to each page.
This takes about 12 seconds.
2. I then create a PDF which has my single cover page.
3. I merge the two PDFs together. This takes an additional 10 seconds.

I guess that if we had the ability to insert a page then it would be
much faster than a merge?

On 12 October 2015 at 21:23, Tilman Hausherr <[email protected]> wrote:
Am 12.10.2015 um 22:03 schrieb Adam Retter:
Hey there,

I want to add a cover page to a PDF, i.e. add a new *first* page to an
existing PDF.

I managed this with 1.8.0 by manipulating the page nodes via
PDPage#setParent, however I can't figure out how to do this with
2.0.0-SNAPSHOT.

Can anyone tell me how to insert a new page at index 0 for an existing
PDF?
Perhaps subsequently adding an example to

https://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/
could help others?

You can't... unless you create a new PDDocument with the cover page and then
run a merge.

Your feature request already has an issue:
https://issues.apache.org/jira/browse/PDFBOX-2400

Tilman

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



--
Adam Retter

skype: adam.retter
tweet: adamretter
http://www.adamretter.org.uk

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to