如何在Yii Framework中使用ZF2 ZendPdf

时间:2013-10-16 22:38:04

标签: php zend-framework yii zend-framework2 zend-pdf

我想在我的项目中解析PDF文档,我正在使用Yii框架,我能够加载ZendFramework 1.12,实际上我正在成功使用Zend_Lucene和Zend_Mail,但是ZendPdf无法解析PDF,所以我想尝试使用ZF2(ZendFramework 2),但我无法使其工作......我刚刚下载了ZF2库并将以下内容添加到我的基础控制器中:

public function __construct($id,$module=null){
    Yii::import('application.vendors.ZendFramework.library.*');
    Yii::setPathOfAlias('Zend',Yii::getPathOfAlias('application.vendors.ZendFramework.library.Zend'));
    parent::__construct($id,$module);
}

所以每次我使用Controller时都会执行此代码。然后在控制器中我有:

use ZendPdf\PdfDocument;
use Zend\Mail;
class AjaxController extends Controller{...

...
public function actionTestPdf(){    
    $filepath = realpath('./path/').'/pdftest2.pdf';
    $pdf = PdfDocument::load($filepath);
}

当我运行控制器时:/ ajax / TestPdf 我得到:致命错误:未找到类'ZendPdf \ PdfDocument'

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我建议您使用编辑器和include the autoloader from composer安装ZF2内容以获得PSR兼容的自动加载功能。

备选方案1) 您也可以尝试将alias ZendPdf\PdfDocument指向类文件位置。

替代方案2) import应用程序配置中所需的类或目录。

答案 1 :(得分:0)

在这种特殊情况下,我建议不要使用ZF2中的ZendPdf,因为它在功能上等同于ZF1中的Zend_Pdf,所以你要做的就是通过类加载等增加不必要的复杂性,但不解决你的根本问题,因为文档仍然很可能不会使用ZF2中的ZendPdf加载。

您应该调查文档无法在ZF1中加载的根本原因。