我有一个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');
}