Php Zend PDF:打印时引发异常

Php Zend PDF:打印时引发异常,php,apache,codeigniter,zend-framework,pdf,Php,Apache,Codeigniter,Zend Framework,Pdf,我正在使用zend框架的codeigniter。我在稳定性问题上遇到了麻烦,因为它有时打印,有时抛出这些异常。有什么问题吗 Fatal error: Uncaught exception 'Zend_Pdf_Exception' with message 'Invalid file path: ' in C:\xampp\htdocs\copyncc2\application\libraries\Zend\Pdf\FileParserDataSource\File.php:79 Stac

我正在使用zend框架的codeigniter。我在稳定性问题上遇到了麻烦,因为它有时打印,有时抛出这些异常。有什么问题吗

Fatal error: Uncaught exception 'Zend_Pdf_Exception' with message 'Invalid file path: ' in C:\xampp\htdocs\copyncc2\application\libraries\Zend\Pdf\FileParserDataSource\File.php:79 Stack trace: #0 C:\xampp\htdocs\copyncc2\application\libraries\Zend\Pdf\Font.php(603): Zend_Pdf_FileParserDataSource_File->__construct(NULL) #1 C:\xampp\htdocs\copyncc2\application\libraries\Zend\Barcode\Renderer\Pdf.php(196): Zend_Pdf_Font::fontWithPath(NULL) #2 C:\xampp\htdocs\copyncc2\application\libraries\Zend\Barcode\Renderer\RendererAbstract.php(481): Zend_Barcode_Renderer_Pdf->_drawText('ERROR:', 10, Array, NULL, 0, 'left', 0) #3 C:\xampp\htdocs\copyncc2\application\libraries\Zend\Barcode\Renderer\RendererAbstract.php(445): Zend_Barcode_Renderer_RendererAbstract->_drawInstructionList() #4 C:\xampp\htdocs\copyncc2\application\models\sbp_model.php(261): Zend_Barcode_Renderer_RendererAbstract->draw() #5 C:\xampp\htdocs\copyncc2\application\controllers\sbp.php(72): Sbp_model->printpermit('1187244') #6 [internal function]: Sbp->printpermit('11 in C:\xampp\htdocs\copyncc2\application\libraries\Zend\Pdf\FileParserDataSource\File.php on line 79
在问题中添加一些代码会很有帮助!我添加了代码而不是echo,请尝试以下Zend_Pdf::parse$pdfData@dixromos98我试过你的方法,它下载了pdf,但是它被破坏了。无法在pdf视图上加载并且您希望加载,对吗?试试Zend_Pdf::load$pdfData;但是您应该检查路径是否有问题
    function printpermit($businessId){
        $this->load->library('zend');
        $a=$this->load->library('amount_to_words');
        $this->zend->load('Zend/Pdf');
        $this->zend->load('Zend/Barcode');
        $sbp_type=$this->uri->segment(4);

        if(isset($sbp_type)&&!empty($sbp_type)){
            $fileName =APPPATH.'assets/reports/sbp/NCCProvisionalPermit.pdf'; 
        }else {
            $fileName =APPPATH.'assets/reports/sbp/NCCPermit.pdf';
        };


        $vals=$this->sbp_model->print_sbp_preview($businessId);
        $permit_no=$vals['sbpnumber'];
        $permit_year=$vals['year'];
        $biz_name=$vals['bizname'];
        $pin_no=$vals['pinno']; 
        $biz_id=$vals['bizzid']; 
        $activity=$vals['biztype']; 
        $description=$vals['bizactivityname']; 
        $activity_code=$vals['activitycode'];;
        $amount=$vals['paidfee'];

        $amount = str_replace( ',', '', $amount);
        if( is_numeric( $amount) ) {
            $amount_in_words="** ".strtoupper($this->amount_to_words->convert_number($amount))." SHILLINGS ONLY **";
        }else $amount_in_words="NOT AVAILABLE";

        $box=$vals['pobox'];
        $plot_no=$vals['plotnumber'];
        $road_street=$vals['street'];
        $issue_date=$vals['issuedate'];
        $barcode_text=$vals['receiptno'];


        $pdf = Zend_Pdf::load($fileName);
        $page=$pdf->pages[0];

        // Draw something on a page 
        // Set font 
        $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 10); 
        $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 10); 
        $page->drawText($permit_no, 473, 647); 
        $page->drawText($permit_year, 473, 624);
        $page->drawText($biz_name, 35, 530);
        $page->drawText($pin_no, 110, 502);
        $page->drawText($biz_id, 460, 530);
        $page->drawText($activity, 35, 430);
        $page->drawText($description, 35, 406);
        $page->drawText($activity_code, 500, 423);
        $page->drawText(number_format($amount,2), 255, 359);
        $page->drawText($amount_in_words, 135, 338);
        $page->drawText($box, 115, 267);  
        $page->drawText($plot_no, 340, 267);
        $page->drawText($road_street, 120, 245);
        $page->drawText($issue_date, 120, 198);
        $barcodeOptions = array('text' => $barcode_text,'barHeight' => 40,'factor'=>2.5,'font' =>APPPATH.'assets/fonts/SWANSEBI.TTF');
        $rendererOptions = array(
            'topOffset' => 590,
            'leftOffset' =>285
            );
        $pdf = Zend_Barcode::factory('code128', 'pdf', $barcodeOptions, $rendererOptions)->setResource($pdf)->draw();

        $pdfData = $pdf->render(); 

        header("Content-Disposition: inline; filename=sbp.pdf"); 
        header("Content-type: application/x-pdf"); 
        echo $pdfData;

    }