PHPでPDFファイルから任意の1ページを抜き出す方法です。 open_pdi_page関数で、抜き出したいページの番号を指定して、ページ変数に代入します。 fit_pdi_page関数で、抜き出したページ変数を出力します。 詳細は、PDFlib/PDI/PPSリファレンスのp.129からの「8.PDF取り込み(PDI)関数」を参照してください。
<?php // /path/to/をPDFファイルのあるパスに置き換えてください $templatePDF = '/path/to/foo.pdf'; define('PATH_CMaps', '/usr/local/pdflib7/resource/cmap'); // 抽出したいページ数を指定 $extract_page = 3; try { $p = new PDFlib(); $p->set_parameter("SearchPath", PATH_CMaps); $p->set_parameter("errorpolicy", "return"); $p->begin_document('', ''); $p->set_info("Creator", "Opentype Co.Ltd."); $p->set_info("Title", "PDI Extract page"); $doc = $p->open_pdi_document($templatePDF, ''); if ($doc == 0) { echo $p->get_errmsg(); exit; } $page = $p->open_pdi_page($doc, $extract_page, ''); if ($page == 0) { echo $p->get_errmsg(); exit; } $p->begin_page_ext(0, 0, "width=a4.width height=a4.height"); $p->fit_pdi_page($page, 0, 0, 'adjustpage'); $p->end_page_ext(''); $p->close_pdi_page($page); $p->close_pdi_document($doc); $p->end_document(''); $buf = $p->get_buffer(); header("Content-Type: application/pdf"); header("Content-Length: " . strlen($buf)); header("Content-Disposition: inline; filename=pdi_extract_any1page.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in hello sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0;
このPDFを見る
codeなにがし::PDFファイルから任意の1ページを抜き出すには