Hitachi Vantara Pentaho Community Forums
Results 1 to 4 of 4

Thread: Como Crear Imagenes Dinamicas

  1. #1

    Default Como Crear Imagenes Dinamicas

    Buen Dia Alguien me puede ayudar diciendome como puede crear imagenes dinamicas en el momento de yo publicar un reporte en pentaho. me explico quiero que cuando yo publique la imagen pueda ser reemplazada en cualquier momento usando parametros por la url.
    Muchas Gracias Por Su Atencion

  2. #2
    Join Date
    Apr 2009
    Posts
    11

    Default

    Quote Originally Posted by alveol85 View Post
    Buen Dia Alguien me puede ayudar diciendome como puede crear imagenes dinamicas en el momento de yo publicar un reporte en pentaho. me explico quiero que cuando yo publique la imagen pueda ser reemplazada en cualquier momento usando parametros por la url.
    Muchas Gracias Por Su Atencion

    Respondí un post similar en este foro, pero repito la forma en la que lo solucioné:

    Hay que pasarlas como parámetro al Report desde el xaction (éste ya es otro tema).

    Cuando montas el report, los parámetros los recibe utilizando la sintaxis ${Nombreparametro}, así por ejemplo puedes definir el título del Informe, el pié de página e incluso las url de las imagenes que quieras poner.

    Mi problema particular con las imagenes en los informes era que no era suficiente con dejar '${ParamURLImagen}' en el campo de la ruta de la imagen, me generaba un error extraño cuando intentaba recuperarla.

    Investigando descubrí que antes de montar la imagen, hacia la siguiente llamada para recuperarla: ....pentaho/GetResource?resource=${pathImage}

    Así pues lo arreglé poniendo en el campo de la url de la imagen en el Informe:
    http://${baseUrl}/pentaho/GetResource?resource=${pathImage}

    y pasàndole como paràmetros 'baseUrl' (path de la aplicación) y 'pathImage' que es el path relativo (a la ubicación del informe) o absoluto en el que se encuentra la imagen que quieres colocar. (Para menos complicaciones, coloca la imagen en el mismo directorio que el informe y usa como parametro 'pathImage' el nombre del archivo).

    Espero que te sirva de ayuda, suerte!

  3. #3

    Default

    Buen dia dml Muchas Gracias Por Contestarme y Disculpa Contestarte Tan tarde, Tengo algunas dudas por aclarar acerca de la respuesta que me diste.
    la primera seria ¿tengo que crear el campo de la imagen como parametro en el desing-studio? y si es asi como puedo ingresarlo o en que otra herramienta puedo ingresalo.

    otra seria en el parametro ${baseUrl} colocaria el numero de puerto del servicio como en el siguiente Ejemplo http://localhost:8080 y otra seria en el parametro ${pathImage} colocaria la ubicacion de la imagen Osea que la URL Quedaria de la siguiente forma:

    http://localhost:8080/pentaho/ViewAction?outputType=html&run_as_background=No&solution=steel-wheels&action=Reporte%20De%20Ensayo.xaction&path=reportes_de_prueba${D:\fotos.imagenPrueba.jpg}

    si no es asi me podrias dar un ejemplo de una URL completa para guiarme mas facil y indicarme donde van los parametros.

    Ha si no es mucha molestia me podrias indicarme donde puedo encontrar informacion o algun manual de como enviarle parametros por el xaction al reporte, ya que yo se los envio con la herramienta de pentaho desing-studio pero no he encontrado información completa de su utilización

    De nuevo Muchas Gracias Por Su colaboracion Prestada
    Last edited by alveol85; 07-05-2009 at 11:26 AM.

  4. #4
    Join Date
    Apr 2009
    Posts
    11

    Default

    Hola de nuevo,

    Para generar los informes, yo he utilizado la herramienta Report Designer. Para crear el campo de imagen, he utilizado un campo de tipo 'URL de Imagen' y en su atributo de 'URL' he colocado lo siguiente:
    http://${baseUrl}/pentaho/GetResource?resource=${pathImage}

    La plantilla creada con el Design Report me la guarda con extensión .report, luego la he publicado para generar el .xml que usará la xaction de Pentaho y abriendo el código xml generado me aparece como:

    .............
    ............
    <basic-key name="scale">true</basic-key>
    <basic-key name="keepAspectRatio">true</basic-key>
    </style>
    <template references="image-url-element">
    <basic-object name="content">http://${baseUrl}/pentaho/GetResource?resource=${pathImage}</basic-object>
    </template>
    </element>

    .............
    .............

    Para el paso de éstos parámetros (baseUrl y pathImage), primero los he declarado como Inputs en el xaction (tambien se pueden declarar con una Process Action de Javascript, una consulta sql, ....) y dado valor por defecto:
    pathImage=samples/no-icass/imatges/logo.gif
    baseUrl=192.168.1.50:8080
    (para baseUrl debes tener en cuenta que al cambiarlo de entorno debes actualizar todas las rutas o montarte algun sistema como cogerlo de un .properties para actualizarlo todo a la vez)

    En el process Action del Report los he añadido como Report Parameters.


    La Url resultante final te la monta el propio XAction.


    Esta información sobre paso de parámetros para imagenes dinámicas no la he encontrado en ningún lugar, lo cierto es que ha sido investigando que codigo xml genera para una imágen estática y de ahi he sacado la URL que finalmente utiliza para obtener la imagen ( lo de .../pentaho/GetResource?resource=imagen.jpg ).

    Para el paso de parámetros en general, tampoco he encontrado muchos ejemplos. Mirate éste xaction de los ejemplos que se acompañan con Pentaho:
    JFree_ChartComponent.xaction
    Donde verás que mediante un Process Action de JavaScript genera una variable que luego se la pasa como Report Parameter a un Report.

    Si ves que todo esto no te ayuda mucho, manda por privado un mensaje y te respondo adjuntando un xaction + .report de los que he usado.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.