我要求make mediantes报告查询数据库,所以我的想法是写" text"在PDF中,模型视图控制器知道如何执行查询,这是我使用控制器生成PDF的代码
public function mensualAction() {
//Para cargar la librería:
require_once 'Zend/Pdf.php';
require_once 'Zend/Loader/Autoloader.php';
//Para crear un nuevo documento PDF:
$pdf = new Zend_Pdf();
//Para crear una nueva página:
$pdf->pages[] = ($page = $pdf->newPage('A4'));
$pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
//Obtener ancho y alto de la página:
$ancho = $page->getWidth();
$alto = $page->getHeight();
//Usar estilos:
$estilo = new Zend_Pdf_Style();
$estilo->setFillColor(new Zend_Pdf_Color_RGB(0, 0, 0));
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$estilo->setFont($font, 10);
$estilo->setStyle($style);
//Escribir texto:
$page->drawText("Hola Mundo", $x, $y);
//Insertar imágenes:
//$img = Zend_Pdf_ImageFactory::factory('sentidoweb.png');
//$page->drawImage($img, $x, $y, $x+&ancho, $y+$alto);
//Devolver la salida:
echo $pdf->render();
//Eso sí, antes hay que tener en cuenta que tenemos que devolver al inicio del script el Content-Type:
header("Content-Type: application/pdf");
// Si queremos que se devuelva como un fichero adjunto
header("Content-Disposition: attachment; filename=\"prueba.pdf\"");
}
浏览器错误:
Fatal error: Call to undefined method Zend_Pdf_Style::setStyle() in ../application/controllers/ReportesController.php on line 32
第32行:
$estilo->setStyle($style);
答案 0 :(得分:0)
我有两点意见:
1 - $style
未定义
2 - setStyle()
不是Zend_Pdf_Style
的方法
但是,SetStyle()
是Zend_Pdf_Canvas_Abstract
和Zend_Pdf_Page
扩展Zend_Pdf_Canvas_Abstract
的方法。
所以也许你想要做的是:
$page->setStyle($estilo);
我希望它会有所帮助。 :)