转换多页PDF在单页与PHP, Imagick鬼脚本



我有一个PDF上传脚本与php,我的问题是当用户上传一个多页PDF文件,我希望这分割到个人的PDF。例如,如果PDF有3页,结果应该是1.pdf, 2.pdf, 3. PDF等。

例如

Convert -density 300 filename.pdf filename.png可以很好地创建PNG文件,但我想要相同的PDF文件。

您可以使用FPDF和FPDI来完成此操作。

require_once('fpdf/fpdf.php');
require_once('fpdi/fpdi.php');
// get the page count
$pdf = new FPDI();
$pageCount = $pdf->setSourceFile($pdfFilePath);
// iterate through all pages
for($pageNumber = 1; $pageNumber <= $pageCount; $pageNumber++)
{
    // create blank document
    $pdf = new FPDI();
    // import a page
    $pdf->setSourceFile($pdfFilePath);
    $templateId = $pdf->importPage($pageNumber);
    // get the size of the imported page
    $size = $pdf->getTemplateSize($templateId);
    // create a page (landscape or portrait depending on the page being imported)
    if($size['w'] > $size['h'])
    {
        $pdf->AddPage('L', array($size['w'], $size['h']));
    }
    else
    {   $pdf->AddPage('P', array($size['w'], $size['h']));
    }
    // use the imported page
    $pdf->useTemplate($templateId);
    // write the PDF file
    $pdf->Output(('/path/to/save/'.$pageNumber.'pdf'), 'F');
}

最新更新