Did you find this guide helpful?
Some test text!
Python / Guides / Extract layer
Platform
Documentation
To extract PDF layers or OCG (optional content group) from a document.
doc = PDFDoc(filename)
page = doc.GetPage(1)
init_cfg = doc.GetOCGConfig()
ctx = Context(init_cfg)
pdfdraw = PDFDraw()
pdfdraw.SetImageSize(1000, 1000)
pdfdraw.SetOCGContext(ctx) # Render the page using the given OCG context.
# Disable drawing of content that is not optional (i.e. is not part of any layer).
ctx.SetNonOCDrawing(False)
# Now render each layer in the input document to a separate image.
ocgs = doc.GetOCGs() # Get the array of all OCGs in the document.
sz = ocgs.Size()
i = 0
while i < sz:
ocg = Group(ocgs.GetAt(i))
ctx.ResetStates(False)
ctx.SetState(ocg, True)
fname = "pdf_layers_" + ocg.GetName() + ".png"
pdfdraw.Export(page, output_path + fname)
i = i + 1
# Now draw content that is not part of any layer...
ctx.SetNonOCDrawing(True)
ctx.SetOCDrawMode(Context.e_NoOC)
pdfdraw.Export(page, output_path + "pdf_layers_non_oc.png")
PDF layers (OCG)
Full sample code which demonstrates how to create, extract, render PDF layers.
Get the answers you need: Support