PHPで複数ページのPDFを分割して1ページごとの複数ファイルにする

FPDIを利用します。「フリーで使っていいよ」と書いてあるのにPayPalのボタンが置いてあるのは、寄付はしてねっていうことですよね。会社のプロジェクトで利用することになったら経費で寄付してみようかと。

require ‘../var/fpdf/fpdi.php’;

$temp_pdf= new FPDI();
$_page = $temp_pdf->setSourceFile(‘../var/hoge.pdf’);
unset($temp_pdf);

for($i=1;$i<=$_page;$i++)
{
    $_write_pdf = new FPDI();
    $_write_pdf->setSourceFile(‘../var/hoge.pdf’);
    $_tmp_info = $_write_pdf->importPage($i);
    $_write_pdf->addPage();
    $_write_pdf->useTemplate($_tmp_info);
    $_write_pdf->Output(“hoge_”.$i.”.pdf”,”F”);
    unset ($_write_pdf);
}

unsetにはあまり意味はない、というかムダかもしれません。closeやdisposeが見当たらなかったので微妙に気持ち悪かったから入れただけです。解放してくれているのかなぁ。

ページ数の取得のために一度テンプレートとして読み込み、それからページ数分でループしてます。ループ処理の中で「テンプレートファイルのiページ目だけ読み込んでファイル書き出し」を繰り返しています。

これでやりたいことはできたのですが、なんかメソッド一発で分割してくれるのがありそうで怖い。あったらどなたか教えてください。

FPDIは1.2、FPDFは1.53、PHPは5.2、WindowsXP上のApache2.0で動作確認しました。

「PHPで複数ページのPDFを分割して1ページごとの複数ファイルにする」への2件のフィードバック

  1. PDF作成は大部分のMicrosoft officeファイル例えば:Word(doc/docx)、Excel(xls、xlsx)、PowerPoint (ppt、pptx)をPDFに作成できます。さらに、PDF作成フリーでその他の印刷可能なファイル:テキスト、画像(JPEG、GIF、PNG、BMP、EMF、EWF、TIFF)、HTMLなどからPDFファイルに作成します。
    私はいつもPDF作成を使っていますが手軽さに変換できますよ、使ってみて!
    http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1245733147

    返信