我正在使用以下代码将新页面添加到现有的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');