How to use the IPDFPageInserter class
📌 Overview
This simple example shows how to use the IPDFPageInserter class, to add a cover page to an existing PDF.
📗 Instructions
The IPDFPageInserter needs two streams for input and output to work. It takes input stream in its constructor and inserts pages to output stream using an insert() method. It then has a save() method for writing an output stream.
🪜 Steps
Open input streams
inputStreamis the PDF that will receive the inserted page(s).insertStreamis the PDF from which pages will be copied.
Create a page inserter for the target PDF
Insert the page(s)
Parameters (all zero-based):
insertStream: source PDF (the cover)0: destination index (insert at the very front of output pdf)0: source start page index (take from page 0 = first page of input pdf)1: number of pages to insert
Save the result
⌨️ Sample Code
Full code available at Visual Studio Projects/PageInsert, Java Projects/PageInsert, Python Projects/PageInsert.
// File we want to insert into
auto inputStream = IInputStream::createFromFile(mako, fileThatNeedsACover);
// File we want to get our cover page from
auto insertStream = IInputStream::createFromFile(mako, coverPageFile);
// Create inserter
auto pageInserter = IPDFPageInserter::create(mako, inputStream);
// Do the insertion – page numbers are zero-based
pageInserter->insert(insertStream, 0, 0, 1);
// And save
pageInserter->save(IOutputStream::createToFile(mako, fileThatNowHasACover));
// File we want to insert into
var inputStream = IInputStream.createFromFile(mako, fileThatNeedsACover);
// File we want to get our cover page from
var insertStream = IInputStream.createFromFile(mako, coverPageFile);
// Create inserter
IPDFPageInserter pageInserter = IPDFPageInserter.create(mako, inputStream);
// Do the insertion - page numbers are zero-based
pageInserter.insert(insertStream, 0, 0, 1);
// And save
pageInserter.save(IOutputStream.createToFile(mako, fileThatNowHasACover));
// File we want to insert into
IInputStream inputStream = IInputStream.createFromFile(factory, fileThatNeedsACover);
// File we want to get our cover page from
IInputStream insertStream = IInputStream.createFromFile(factory, coverPageFile);
// Create PDF Page Inserter
IPDFPageInserter pageInserter = IPDFPageInserter.create(jawsMako, inputStream);
// Perform insertion (page numbers are zero-based)
pageInserter.insert(insertStream, 0, 0, 1);
// Save the result
IOutputStream outputStream = IOutputStream.createToFile(factory, fileThatNowHasACover);
pageInserter.save(outputStream);
# File we want to insert into
input_stream = IInputStream.createFromFile(factory, input_file)
# File we want to get our cover page from
insert_stream = IInputStream.createFromFile(factory, cover_file)
# Create the page inserter
page_inserter = IPDFPageInserter.create(jaws_mako, input_stream)
# Do the insertion (page numbers are zero-based)
page_inserter.insert(insert_stream, 0, 0, 1)
# Save the result
output_stream = IOutputStream.createToFile(factory, output_file)
page_inserter.save(output_stream)
☑️ Conclusion
The IPDFPageInserter class provides a straightforward method for adding pages to an existing PDF, such as inserting a cover page. By following the outlined steps, users can efficiently manage PDF content, ensuring seamless integration of additional pages.
📚 Additional Resources
If you need additional help, see our API documentation for detailed information on class/method usage, or raise a support ticket via our customer portal.