Пример #1
0
$writer->End();
// save changes to the current page
$doc->PagePushBack($page);
// Set the default viewing preference to display 'Layer' tab.
$prefs = $doc->GetViewPrefs();
$prefs->SetPageMode(PDFDocViewPrefs::e_UseOC);
$doc->Save($output_path . "pdf_layers.pdf", SDFDoc::e_linearized);
echo nl2br("Done.\n");
// The following is a code snippet shows how to selectively render
// and export PDF layers.
$doc = new PDFDoc($output_path . "pdf_layers.pdf");
$doc->InitSecurityHandler();
if (!$doc->HasOC()) {
    echo nl2br("The document does not contain 'Optional Content'\n");
} else {
    $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.
    $page = $doc->GetPage(1);
    // Get the first page in the document.
    $pdfdraw->Export($page, $output_path . "pdf_layers_default.png");
    // 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.
    if ($ocgs != null) {
        $sz = $ocgs->Size();