Es para mi un placer poder ayudarte. Yo llevo varios años que no programo
en Python, pero es mi lenguage favorito. La funcion popen() esta contenida
en la libreria *subprocess*
<https://docs.python.org/3/library/subprocess.html>, asi que quizas solo te
falte importar esa libreria.

Te recomiendo que pruebes las varias formas de abrir el(los) arcchivo(s) ya
que algunas podrian tener (d)efectos indeseados. *Tengo entendido* que la
forma mas *correcta* es utilizando popen(), Pero yo pienso que lo *correcto*,
a veces, esta en contraposicion a lo *desado*.


Dtb/Gby
=======
Mario R. Osorio
A.S. of Computer Programming and Analysis
Web page: *http;//mario.osorio.solutions
<http://http%3B//mario.osorio.solutions>*
Email: *mario@osorio.solutions* <mario@osorio.solutions>
*Just Choose Python!* <http://www.gentoogeek.org/files/choose_python.pdf>

“If I had asked people what they wanted, they would have said faster
horses.”
 ― Henry Ford




<http://goo.gl/t2Hzgo>
            <https://m.do.co/c/63e2415dab7b>

2017-11-29 17:45 GMT-05:00 Roberto Matarrita <rmatar...@gmail.com>:

> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla.
> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando en
> Internet, documentación, gente que me dijera como podía hacer un reporte en
> python y realmente nadie me decía como hacerlos, a excepción de las
> herramientas que le mencioné.
>
> Gracias por ayudarme a dar el último paso que necesitaba para ver reportes
> en pantalla de una aplicación de escritorio. Ya los puedo tirar a PDF,
> Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo.
>
> 1. Una última consulta, usted como hace los reportes en python.
> 2. Que hace esta instrucción que me dio error y tuve que ponerla en
> comentario. subprocess.Popen([file],shell=True)
>
>
> Roberto.
>
> El 29 de noviembre de 2017, 10:38, Mario R. Osorio <nimbiot...@gmail.com>
> escribió:
>
>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el archivo
>> PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre ellas:
>>
>>
>>    -
>>    - subprocess.Popen([file],shell=True)
>>    -
>>
>>    import webbrowser
>>    webbrowser.open_new(r'file://C:\path\to\file.pdf')
>>
>>    -
>>
>>    import os
>>    os.startfile(filename)
>>
>>    -
>>
>>    os.system(filename)
>>
>>    -
>>
>>
>>
>>
>> Tambien podrias hacer uso de varias librerias para manipulacion de
>> archivos PDF
>>
>>
>> Dtb/Gby
>> =======
>> Mario R. Osorio
>> A.S. of Computer Programming and Analysis
>> Web page: *http;//mario.osorio.solutions
>> <http://http%3B//mario.osorio.solutions>*
>> Email: *mario@osorio.solutions* <mario@osorio.solutions>
>> *Just Choose Python!* <http://www.gentoogeek.org/files/choose_python.pdf>
>>
>> “If I had asked people what they wanted, they would have said faster
>> horses.”
>>  ― Henry Ford
>>
>>
>>
>>
>> <http://goo.gl/t2Hzgo>
>>             <https://m.do.co/c/63e2415dab7b>
>>
>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita <rmatar...@gmail.com>:
>>
>>> Buenas noches. Ya llevo varios meses tratando de aprender a realizar
>>> reportes en Python. He buscado reporteadores, documentación respecto al
>>> tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros,
>>> pero todos son para confeccionar a puro código. Observé un par de
>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo.
>>> Me enviaron el código que abajo describo, el cual logré que funcionara,
>>> se conecta a la base de datos, envía parámetros y hace el reporte.
>>> Pero tengo el gran problema que no he podido ya que desconozco como
>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y
>>> es como hacer para ver el reporte en pantalla. Es decir un preview.
>>>
>>> Es decir como hago para ver el reporte en la pantalla, para que el
>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o
>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al
>>> disco.
>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya que
>>> estoy en un proyecto muy grande y este ha sido el talón de aquiles en
>>> Python, los reportes. Si alguien conoce del tema.
>>>
>>> Gracias.
>>>
>>> Describo el código.
>>>
>>> import sys
>>> import os
>>> import PyPDF2
>>> import pyjasper
>>> from platform import python_version
>>> from pyjasper.jasperpy import JasperPy
>>> from PyPDF2 import PdfFileMerger,PdfFileReader
>>>
>>> #def advanced_example_using_database():
>>> input_file = os.path.dirname(os.path.abspath(__file__)) +
>>> '/report4.jrxml'
>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes'
>>> print(input_file)
>>> print(output)
>>>
>>> con = {
>>>         'driver': 'postgres',
>>>         'username': 'postgres',
>>>         'password': 'Administra8080',
>>>         'host': 'localhost',
>>>         'database': 'municipal',
>>>         'port':'5432'
>>>     }
>>> x=input("Digite codigo de empleado :")
>>> jasper = JasperPy()
>>> jasper.process(input_file,output_file=output,format_list=["pdf"],
>>> parameters={'idenifica': (x)},db_connection=con)    #Aquí se confecciona el
>>> reporte.
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>>
>>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a