我有一个带有php的pdf上传脚本,我的问题是当用户上传多页pdf文件时,我希望将其分成单独的pdf文件。例如,如果pdf有3页,结果应该是1.pdf,2.pdf,3.pdf等。
例如,convert -density 300 filename.pdf filename.png可以很好地创建一个png文件,但我想要相同的pdf文件。
答案 0 :(得分:2)
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');
}