// PDFNet::AddFontSubst(PDFNet::e_Japan2, "c:/myfonts/KozMinProVI-Regular.otf"); // PDFNet::AddFontSubst(PDFNet::e_Korea1, "AdobeMyungjoStd-Medium.otf"); // PDFNet::AddFontSubst(PDFNet::e_CNS1, "AdobeSongStd-Light.otf"); // PDFNet::AddFontSubst(PDFNet::e_GB1, "AdobeMingStd-Light.otf"); $draw = new PDFDraw(); //-------------------------------------------------------------------------------- // Example 1) Convert the first page to PNG and TIFF at 92 DPI. // A three step tutorial to convert PDF page to an image. // A) Open the PDF document. $doc = new PDFDoc($input_path . "tiger.pdf"); // Initialize the security handler, in case the PDF is encrypted. $doc->InitSecurityHandler(); // B) The output resolution is set to 92 DPI. $draw->SetDPI(92); // C) Rasterize the first page in the document and save the result as PNG. $draw->Export($doc->GetPageIterator()->Current(), $output_path . "tiger_92dpi.png"); echo nl2br("Example 1: " . $output_path . "tiger_92dpi.png" . ". Done.\n"); // Export the same page as TIFF $draw->Export($doc->GetPageIterator()->Current(), $output_path . "tiger_92dpi.tif", "TIFF"); //-------------------------------------------------------------------------------- // Example 2) Convert the all pages in a given document to JPEG at 72 DPI. echo nl2br("Example 2:\n"); $hint_set = new ObjSet(); // A collection of rendering 'hits'. $doc = new PDFDoc($input_path . "newsletter.pdf"); // Initialize the security handler, in case the PDF is encrypted. $doc->InitSecurityHandler(); $draw->SetDPI(72); // Set the output resolution is to 72 DPI. // Use optional encoder parameter to specify JPEG quality. $encoder_param = $hint_set->CreateDict();
// 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(); for ($i = 0; $i < $sz; ++$i) { $ocg = new Group($ocgs->GetAt($i)); $ctx->ResetStates(false); $ctx->SetState($ocg, true); $fname = $output_path . "pdf_layers_" . $ocg->GetName() . ".png"; echo nl2br($fname . "\n"); $pdfdraw->Export($page, $fname); }