Php mPDF合并多个文件pdf
我使用的是最新版本的MPDF。 这个代码有效。我合并了几个文件。 我没有得到回报。 如果您对foreach进行注释,则返回。 也许我没有正确地团结起来Php mPDF合并多个文件pdf,php,mpdf,Php,Mpdf,我使用的是最新版本的MPDF。 这个代码有效。我合并了几个文件。 我没有得到回报。 如果您对foreach进行注释,则返回。 也许我没有正确地团结起来 list($directorySite, $shell) = explode('app', __DIR__); require($directorySite.'/vendor/autoload.php'); try { $mpdf = new Mpdf(['mode' => 'utf-8']);
list($directorySite, $shell) = explode('app', __DIR__);
require($directorySite.'/vendor/autoload.php');
try {
$mpdf = new Mpdf(['mode' => 'utf-8']);
$mpdf->SetImportUse();
$page1 = $mpdf->SetSourceFile('public/scanInvoice/'.$resultJPGtoPDF);
for ($i=1;$i<=$page1;$i++) {
$mpdf->AddPage();
$tplId = $mpdf->ImportPage($i);
$mpdf->UseTemplate($tplId);
$mpdf->WriteHTML('');
}
foreach ($pathsPDF as $item){
$page2 = $mpdf->SetSourceFile('public/scanInvoice/'.$item);
for ($i=1;$i<=$page2;$i++) {
$mpdf->AddPage();
$tplId = $mpdf->ImportPage($i);
$mpdf->UseTemplate($tplId);
$mpdf->WriteHTML('');
}
}
$preName = $this->translit('JPEGandPDF');
$mpdf->Output($direct.DIRECTORY_SEPARATOR.$preName.'.pdf', 'F');
return $preName.'.pdf';
} catch (MpdfException $e) {
return $e->getMessage();
}
list($directorySite,$shell)=分解('app','uuuuuuuuu DIR\uuuuuu);
需要($directorySite.'/vendor/autoload.php');
试一试{
$mpdf=新的mpdf(['mode'=>'utf-8']);
$mpdf->SetImportUse();
$page1=$mpdf->SetSourceFile('public/scanInvoice/'。$resultJPGtoPDF);
对于($i=1;$iAddPage();
$tplId=$mpdf->ImportPage($i);
$mpdf->UseTemplate($tplId);
$mpdf->WriteHTML(“”);
}
foreach($pathspf作为$item){
$page2=$mpdf->SetSourceFile('public/scanInvoice/'。$item);
对于($i=1;$iAddPage();
$tplId=$mpdf->ImportPage($i);
$mpdf->UseTemplate($tplId);
$mpdf->WriteHTML(“”);
}
}
$preName=$this->translatit('JPEGandPDF');
$mpdf->Output($direct.DIRECTORY_SEPARATOR.$preName.'.pdf',F');
返回$preName.'.pdf';
}捕获(MpdfException$e){
返回$e->getMessage();
}
我知道这篇文章很旧,但这可能会对某些人有所帮助。
我正在使用PHP 7.3和mpdf 8对PDF进行分组,并将分组后的文件保存到磁盘,这对我来说很好:
$files = array();//the files to merge
$files[] = DIR_UPLOAD. 'gls/batch_11/labels_45812.pdf';
$files[] = DIR_UPLOAD. 'gls/batch_11/labels_45818.pdf';
$files[] = DIR_UPLOAD. 'gls/batch_11/labels_45820.pdf';
$output= DIR_UPLOAD. 'gls/batch_11/labels.pdf';//where to save the combined file
require_once(DIR_SYSTEM.'library/mpdf/vendor/autoload.php');
$mpdf=new \Mpdf\Mpdf(['tempDir' => DIR_SYSTEM.'library/mpdf/tmp', 'format'=> 'a6', 'orientation'=> 'L']);//A6 format landscape
$file_counter=1;//to be used in the loop
foreach($files AS $file)
{
$pagecount = $mpdf->SetSourceFile($file);
for($i=0; $i< $pagecount; $i++)
{
$tplId = $mpdf->importPage($i+1);
$mpdf->useTemplate($tplId);
//add a page except for the last loop of the last document (otherwise we have a blank page)
if( $file_counter != count($files) || ($i+1) != $pagecount)
{
$mpdf ->addPage();
}
}//end for
$file_counter++;
}//end foreach
$mpdf->Output($output);//save the file
$files=array();//要合并的文件
$files[]=DIR_UPLOAD.'gls/batch_11/labels_45812.pdf';
$files[]=DIR_UPLOAD.'gls/batch_11/labels_45818.pdf';
$files[]=DIR_UPLOAD.'gls/batch_11/labels_45820.pdf';
$output=DIR_UPLOAD。'gls/batch_11/labels.pdf';//将组合文件保存在何处
需要一次(DIR_SYSTEM.library/mpdf/vendor/autoload.php);
$mpdf=new\mpdf\mpdf(['tempDir'=>DIR\u SYSTEM.'library/mpdf/tmp','format'=>'a6','orientation'=>'L']);//a6格式
$file_counter=1;//将在循环中使用
foreach($files作为$file)
{
$pagecount=$mpdf->SetSourceFile($file);
对于($i=0;$i<$pagecount;$i++)
{
$tplId=$mpdf->importPage($i+1);
$mpdf->useTemplate($tplId);
//添加除最后一个文档的最后一个循环之外的页面(否则我们有一个空白页面)
如果($file_counter!=计数($files)| |($i+1)!=$pagecount)
{
$mpdf->addPage();
}
}//结束
$file_counter++;
}//端部foreach
$mpdf->Output($Output);//保存文件
See,我尝试了很多次,但我不明白。如果你发送一个PDF,那么循环工作,我得到返回。/foreach($pathspf as$item){$allPage=$mpdf->SetSourceFile('public/scanpoice/'.$pathspf[0]);for($I=1;$I AddPage();$tplId=$mpdf->ImportPage($I)$mpdf->UseTemplate($tplId);$mpdf->WriteHTML(“”);}/}
如果我打开循环,我不会得到返回。foreach($pathsdpf as$item){$allPage=$mpdf->SetSourceFile($public/scanInvoice/“.$item);for($I=1;$I AddPage();$tplId=$mpdf->ImportPage($i);$mpdf->UseTemplate($tplId);$mpdf->WriteHTML(“”);}