Some test text!

Discord Logo

Chat with us

PDFTron is now Apryse, learn more here.

Php / Guides / Extract layer



PDFTron is now Apryse, learn more here.

Extract layers from PDF in PHP

To extract PDF layers or OCG (optional content group) from a document.

$doc = new PDFDoc($filename);
$page = $doc->GetPage(1);

$init_cfg = $doc->GetOCGConfig();
$ctx = new Context($init_cfg);

$pdfdraw = new 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).

// 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();
for ($i=0; $i<$sz; ++$i) {
    $ocg = new Group($ocgs->GetAt($i));
    $ctx->SetState($ocg, true);
    $fname = "pdf_layers_".$ocg->GetName().".png";
    $pdfdraw->Export($page, $output_path.$fname);

// Now draw content that is not part of any layer...
$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