我正在使用以下代码将新页面添加到现有的PDF文档中并保存。

require('addons/fpdf.php');
require('addons/fpdi.php');

$pdf = new FPDI();
$pagecount = $pdf->setSourceFile($orgpdfpath);
for($i = 1; $i <=  $pagecount; $i++){
    $pdf->addPage();
    $tplidx = $pdf->importPage($i);
    $pdf->useTemplate($tplidx);
}
$pdf->addPage($pdforientation);
$pdf->Image($imgpath,$pdfxaxis,$pdfyaxis,$pdfwith,$pdfheight);

$pdf->Output($orgpdfpath,'F');

如果我的文档是A4,第1页:纵向,第2页:纵向,第3页:纵向等,则效果很好。

如果添加风景A4页面,它也可以使用。但是,在我添加了一个横向页面并尝试添加一个肖像之后,该横向被移回了一个肖像,并且文档的整个格式中断了。

我怀疑这与循环内的addPage()有关系。为什么在应用-> useTemplate时不能正确旋转?

最佳答案

我监督了一个叫做-> getTemplateSize()的函数。
这是一个有效的代码段:

$pdf = new FPDI();
$pagecount = $pdf->setSourceFile($orgpdfpath);
for($i = 1; $i <=  $pagecount; $i++){

    $tplidx = $pdf->importPage($i);
    $specs = $pdf->getTemplateSize($tplidx);
    $pdf->addPage($specs['h'] > $specs['w'] ? 'P' : 'L');
    $pdf->useTemplate($tplidx);
}

$pdf->addPage($pdforientation);
$pdf->Image($imgpath,$pdfxaxis,$pdfyaxis,$pdfwith,$pdfheight);

$pdf->Output($orgpdfpath,'F');

09-19 17:50