php用FPDI合并pdf文件 证明FPDI真的不行!

Posted 最喜欢《暗号》

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php用FPDI合并pdf文件 证明FPDI真的不行!相关的知识,希望对你有一定的参考价值。

首先我要数一下我下载的是2个库
目录结构,我直接放在根目录下了。

第一个:TCPDF
这个TCPDF上网有直接下载的地址,我用的是tp3.2框架,TCPDF给我手写了一个pdf出来很棒!!
第二个:FPDI,下面是FPDI合并pdf的代码

namespace Qwadmin\\Controller;
//导入TCPDF类库
use TCPDF;
require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');
//导入FPDI类库,
//这里我遇到很多问题只有这样写才不会报错说找不到setasign\\Fpdi。
//然后下面才可以实例化fpdi类(我不知道你们还有其他办法么我是这么写的)
use setasign\\Fpdi;
use setasign\\Fpdi\\PdfReader;
require_once ('Fpdi/autoload.php');
class DirectorsController extends ComController===你的代码===public function hbpdf($id='')
        $address = M('filesaddress','qw_')->where(array('conferenceid'=>$id))->select();
//        foreach ($address as $k=>$v)
//            $path=$path.$v['address'].',';
//        
//        exec("python D:\\python\\hbpdf\\Include\\hbpdf.py $path",$out,$res);
//        print_r($out);
忽略注释部分。是我调用python代码去实现PDF合并,用的是PYPDF2类库去完成
        foreach ($address as $k=>$v)
            $pdf_road_datas[$k]=$v['address'];
        
        $pdf = new Fpdi\\Tcpdf\\Fpdi();=》这里就是坑了,在实例化的时候我只能这样写才对(我不知道你们写是什么情况)
        foreach ($pdf_road_datas as $k=>$v)
            $page_count = $pdf->setSourceFile($v);
重点这里!!!我写的时候他报错说没有调用setSourceFile这个类,但是我CTRL追代码是可以找到的,巨坑!!!!
            var_dump($page_count);die();
            for ($pageNo = 1; $pageNo <= $page_count; $pageNo++) 
//                一页一页的读取PDF,添加到新的PDF
                $templateId = $pdf->importPage($pageNo);
这个importPage也是坑,直接说找不到 读书器id() ??文档也没有说读书器是什么id啊
                $size = $pdf->getTemplateSize($templateId);
                $pdf->AddPage($size['orientation'], $size);
                $pdf->useTemplate($templateId);
                $pdf->Close();
            
        
        $pdf->Output('777.pdf','I');
    

这里是setSourceFile报错。

然后加var_dump($page_count);die()就告诉我是5,也就是说我调用到setSourceFile这个方法的了。
上面说我没调用到然后又有结果 什么傻逼代码!!!

下面就不谈了。总结一下 FPDI就是垃圾!

以上是关于php用FPDI合并pdf文件 证明FPDI真的不行!的主要内容,如果未能解决你的问题,请参考以下文章

PDFMerger 与 FPDI-PDF-PARSER

PHP使用FPDF pdf添加水印中文乱码问题

在 PHP 中使用 FPDI 在页面上生成多个 pdf

如何使用 FPDF/FPDI 获得精确修改的 PDF?

如何在 PHP FPDI 库中设置编码

如何在没有作曲家的情况下使用PHP库(FPDI与FPDI保护)