PDF Corrupto Jasper

Buenas tardes, tengo un reporte en Irepor, que esta funcionando bien. Ahora lo quiero modificar y pasarle por parametro un dato, al generarlo desde toba genera el PDF, pero al abrirlo me dice que esta dañado.Pero al previsualizarlo desde ireport no me da ningun problema.
Que podra esta pasando?

Estoy usando Toba 2.6, y la libreria de Jasper es la que ofrecen ustedes desde la wiki.
en esta linea agrego el parametro

$report->set_parametro('codigo', 'S', "A10S");

y asi esta el parametro en el XML del reporte

<parameter name="codigo" class="java.lang.String"/>

Saludos

Hola Leo,
abriste el pdf generado desde Toba para verificar que no existen ningun texto de error o caracter previo al encabezado del PDF?, normalmente cuando esta roto el formato suele ser porque queda algo dando vueltas.

Por otro lado, Ireport utiliza un mecanismo distinto al de Toba para comunicarse con el servlet de Jasper, por tanto es posible que tengas resultados distintos.
Vos estas compilando el reporte a partir del jrxml o directamente le pasas el .jasper?
Pasteame el codigo del metodo con el que sacas el reporte asi veo como venis.

Saludos

Hola Richard, grcias por responder,

Al abrir el pdf me aparece el siguiente notice.



<b>Notice</b>:  Undefined property: java_Client::$cancelProxyCreationTag in <b>/usr/local/toba/2.6/php/3ros/JavaBridge/java/Java.inc</b> on line <b>1920</b>

%PDF-1.4
%âãÏÓ
3 0 obj
<</Type/XObject/ColorSpace/DeviceRGB/Subtype/Image/BitsPerComponent 8/Width 232/Length 19622/Height 230/Filter/DCTDecode>>stream

Le paso directamente el jasper

function extender_objeto_js() {
        if ($this->get_id_pantalla() == 'pant_inicial') {
            echo "
                {$this->dep('cuadro')->objeto_js}.evt__reimprimir = function(params) {
                location.href = vinculador.get_url(null, null, 'vista_jasperreports', {'id':params});
                return false;
                }";
        }
 
    }
    function vista_jasperreports(toba_vista_jasperreports $report) {
        
        $id = toba::memoria()->get_parametro('id ');
        $path = toba::proyecto()->get_path() . "/exportaciones/jasper/";
        $report->set_parametro('SUBREPORT_DIR', 'S', $path); //cuando le paso esta variable genera bien el pdf
        $path .= "pv.jasper";
        //$report->set_parametro('codigo', 'S', 'A10S'); // aqui es donde se rompe 
 
        $report->set_nombre_archivo('pv.pdf');
        $report->set_parametro('id', 'E', $id);
        $report->set_path_reporte($path);

        $db = toba::db();
        $report->set_conexion($db);
    }

Desde ya muchas gracias.

No tengo a mano el codigo de JavaBridge como para decirte que esta causando eso, en lo que encontre recomiendan rearmar el war. Me parece demasiado complicado, podrias probarlo con display_errors en Off para ver si hay algo mas?

Le paso directamente el jasper

    function vista_jasperreports(toba_vista_jasperreports $report) {
        
        $id = toba::memoria()->get_parametro('id ');
        $path = toba::proyecto()->get_path() . "/exportaciones/jasper/";
        $report->set_parametro('SUBREPORT_DIR', 'S', $path); //cuando le paso esta variable genera bien el pdf
        $path .= "pv.jasper";
        //$report->set_parametro('codigo', 'S', 'A10S'); // aqui es donde se rompe 
 
        $report->set_nombre_archivo('pv.pdf');
        $report->set_parametro('id', 'E', $id);
        $report->set_path_reporte($path);

        $db = toba::db();
        $report->set_conexion($db);
    }

Si pasas cualquier otro parámetro que sea string también te pasa lo mismo?, no pareciera tener nada particular esa linea, fuera de que es algo nuevo.
El tema con pasar el .jasper directamente, es que no todas las versiones de IReport funcionan con todas las de Jasper, la version que estas usando es medianamente nueva o similar a la del paquete Jasper?.
Saludos

Si estuve leyendo y pensé lo mismo, demasiado complicado je. Desactive el display error, y se genero bien el pdf. algo esta generando ese Notice y lo esta enviando…

Si pasas cualquier otro parámetro que sea string también te pasa lo mismo?, no pareciera tener nada particular esa linea, fuera de que es algo nuevo. El tema con pasar el .jasper directamente, es que no todas las versiones de IReport funcionan con todas las de Jasper, la version que estas usando es medianamente nueva o similar a la del paquete Jasper?. Saludos

Si, si paso otro parámetro me arroja lo mismo, excepto el SUBREPORT_DIR, que ahi me funciona bien. Con respecto a la versión de IReport, uso la misma version que el ,jasper.