首先通过composer引入fpdi包
composer require setasign/fpdi
接下来是代码示例
$file = "/www/test.pdf";
$pdf = new Fpdi();
//设置读取的pdf文件
$pdf->setSourceFile($file);
//这个是去除pdf上面的头部的横线
$pdf->setPrintHeader(false);
//这个是去除pdf底部的横线
$pdf->setPrintFooter(false);
//这里是表示读取pdf的页码,1表示第一页
$tplId = $pdf->importPage(1);
//这个是重点。可以避免内容过大,自动新增一页。也就是不让页面溢出
$pdf->SetAutoPageBreak(false,0);
//添加新页面,设置尺寸。
//如果没有设置尺寸,默认是A4尺寸,我这样的尺寸是宽150mm,高100mm
$pdf->AddPage('',['MediaBox'=>['urx'=>150,'ury'=>150,'llx'=>0,'lly'=>50]]);
//讲读取的pdf写入到新创建的pdf上面
$pdf->useImportedPage($tplId);
//设置字体大小
$pdf->SetFontSize(25);
//写入html代码
$pdf->MultiCell(100,0,'<p>A</p>',0,'H',false,0,125,80,true,0,true);
//保存到文件
$save = '/www/xxx.pdf';
$pdf->output($save,'F');
//直接在浏览器输出
$pdf->output('','E');
几个问题总结一下
1.默认会页码线,可通过setPrintHeader和setPrintFooter设置成false去掉
2.默认页面大小是A4,可通过相关参数设置相关的大小,包里面有指定了常用的尺寸,a3,a4等,可根据实际需求。设置想要的尺寸
3.页面自动增页问题,可通过设置SetAutoPageBreak解决问题