Some test text!

Search
Hamburger Icon

Ruby / Guides / Add layer

Add a new PDF Layer in Ruby

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

doc = PDFDoc.new
builder = ElementBuilder.new	# ElementBuilder is used to build new Element objects
writer = ElementWriter.new	# ElementWriter is used to write Elements to the page

# Create a layer
image_layer = Group.Create(doc, "Image Layer")
cfg = PDFNetRuby::Config.Create(doc, true)
cfg.SetName("Default")

# Add the new OCG to the list of layers that should appear in PDF viewer GUI.
layer_order_array = doc.CreateIndirectArray
cfg.SetOrder(layer_order_array)
layer_order_array.PushBack(image_layer.GetSDFObj)

# Start a new page
page = doc.PageCreate
writer.Begin(page)		# Begin writting to the page

# Add new content to the page and associate it with one of the layers.
img = Image.Create(doc.GetSDFDoc, imagename)
img.GetSDFObj().Put("OC", image_layer)
writer.WritePlacedElement(builder.CreateImage(img, 300, 600, 200, -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