Ayuda con crear un documento PDF con PDFDocument

13 views
Skip to first unread message

Manuel Gil

unread,
Feb 24, 2010, 10:50:10 PM2/24/10
to Kumbia Enterprise Framework
hola a todos, mi problema es el siguiente:

estoy tratando de implementar el primer ejemplo del manual sobre como
crear un documento PDF con PDFDocument que consiste en crear el
siguiente controlador:

<?php

class ReportsController extends ApplicationController {

public function showAction(){
$pdf = new PdfDocument();
$pdf->addPage();
$black = PdfColor::fromName(PdfColor::COLOR_BLACK);
$pdf->setTextColor($black);
$pdf->setFont('helvetica', '', 18);
$pdf->writeCell(40, 10, "Hello PDF");
$pdf->outputToBrowser();
}

}

?>

El problema se produce cuando se ejecuta el metodo $pdf-
>outputToBrowser(); que genera la siguiente excepcion:


PdfDocumentException: Some data has already been output, can't send
PDF file (0)
En el archivo C:\xampp\htdocs\SIMCA\Library\Kumbia\PdfDocument
\PdfDocument.php en la línea: 1969

Fui a la API y me encontre con que este problema puede ser por lo
siguiente:

Function string outputToBrowser()
Envia el reporte directamente al navegador. El desarrollador debe
cerciorarse que otros contenidos no sean enviados junto con la salida
ya que esto generará una excepción.

y de acuerdo a esto de que forma puedo solucionar este problema ????


De ante mano muchas gracias por su pronta respuesta.

EXITOS !!!

Antonio Lopez

unread,
Feb 28, 2010, 8:38:17 PM2/28/10
to kef-s...@googlegroups.com
En la accion se debe colocar $this->setResponse('view') para que no se envien los encabezados HTTP

2010/2/24 Manuel Gil <genius...@gmail.com>

Manuel Gil

unread,
Mar 1, 2010, 7:31:22 PM3/1/10
to kef-s...@googlegroups.com
Antonio Lopez,  Gracias por tu respuesta, ahora tengo otro problem en IE 7 ni IE 8 no genera el reporte, pero en Google Chrome  y Mozilla si funciona y resulta que el navegador que utilizan para esta apliacacion es puro IE.  Que posibles soluciones hay ???

--
Manuel Alberto Gil I.
Ing - Sistemas - UCEVA


Antonio Lopez

unread,
Mar 1, 2010, 8:16:20 PM3/1/10
to kef-s...@googlegroups.com
IE tiene un error al detectar los encabezados de documentos PDF.

Lo mejor es enviar el reporte a un archivo en public/temp/nombre.pdf

Luego en javascript hacer un window.location = $Kumbia.path+"temp/nombre.pdf"

Esto funciona para todos los navegadores

2010/3/1 Manuel Gil <genius...@gmail.com>

Manuel Gil

unread,
Mar 2, 2010, 12:23:57 AM3/2/10
to kef-s...@googlegroups.com
Me puedes enviar algún ejemplo en el cual me puedo basar...  
GRaciAs.
Reply all
Reply to author
Forward
0 new messages