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();
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]
>