Some test text!

Search
Hamburger Icon

iOS / Guides / Add layer

Add a new PDF Layer on iOS

To add a PDF layer or OCG (optional content group) to a new document.

PTPDFDoc *doc = [[PTPDFDoc alloc] init];
PTElementBuilder *builder = [[PTElementBuilder alloc] init];	// ElementBuilder is used to build new Element objects
PTElementWriter *writer= [[PTElementWriter alloc] init];	// ElementWriter is used to write Elements to the page

// Create a layer
PTGroup *image_layer = [PTGroup Create: doc name: @"Image Layer"];
PTConfig *cfg = [PTConfig Create: doc default_config: YES];
[cfg SetName: @"Default"];

// Add the new OCG to the list of layers that should appear in PDF viewer GUI.
PTObj *layer_order_array = [doc CreateIndirectArray];
[cfg SetOrder: layer_order_array];
[layer_order_array PushBack: [image_layer GetSDFObj]];

// Start a new page
PTPage *page = [doc PageCreate: [[PTPDFRect alloc] initWithX1: 0 y1: 0 x2: 612 y2:792]];
[writer WriterBeginWithPage: page placement: e_ptoverlay page_coord_sys: YES compress: YES]; // Begin writing to the page

// Add new content to the page and associate it with one of the layers.
PTImage *img = [PTImage Create: [doc GetSDFDoc] filename: imagename];
[[img GetSDFObj] Put: @"OC" obj: image_layer];
[writer WritePlacedElement: [builder CreateImageWithCornerAndScale: img x: 300 y: 600 hscale: 200 vscale: -150]];
[writer End];   // save changes to the current page
[doc PagePushBack: page];

PDF layers (OCG)
Full sample code which demonstrates how to create, extract, render PDF layers.

Get the answers you need: Chat with us