Это старый вопрос, но я надеюсь помочь кому-то, кто ищет этот ответ.
Я успешно использовал FPDF (http://www.fpdf.org), бесплатная библиотека PHP.
У меня естьВырежьте этот код из большой функции, пожалуйста, обратите внимание на отсутствующие переменные, которые я не смог бы здесь включить.
$pdf = new FPDI();
// Number of pages of the PDF
$pagecount = $pdf->setSourceFile($source."/".$pdfList[$i]);
// Loop the PDF's pages
for($page_index=0; $page_index < $pagecount; $page_index++)
{
$tplidx = $pdf->importPage(($page_index+1), '/MediaBox');
$pdf->addPage();
$pdf->useTemplate($tplidx);
// Do I need to stamp this page? This is a boolean flag calculated from the settings for each page.
$stampThis = false;
if($settings->pages == 'all')
{
$stampThis = true;
}
else if($settings->pages == 'last')
{
if($pagecount == $page_index+1)
{
$stampThis = true;
}
}
else if($settings->pages == 'first')
{
if($page_index == 0)
{
$stampThis = true;
}
}
else if($settings->pages == 'odd')
{
if($page_index%2 == 0)
{
$stampThis = true;
}
}
else if($settings->pages == 'even')
{
if($page_index%2 != 0)
{
$stampThis = true;
}
}
// Stamp the PDF, in case the flag is true
if($stampThis)
{
// Custom stamp
if(!empty($settings->imageURL)) {
$pdf->Image($settings->imageURL,
$settings->stamp_coord_x,
$settings->stamp_coord_y);
}
} // stamp if end
} // pages loop end
$pdf->Output($destination.'/'.$pdfList[$i], 'F');