Php Zend 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 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 79Php 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
在问题中添加一些代码会很有帮助!我添加了代码而不是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;
}