es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Descarga de SSRS desde Python generando un archivo corrupto.

Cuando ejecuto mi script, crea un archivo PDF corrupto y no se puede abrir.

Aquí está mi código, que parece funcionar para mucha gente:

filename = './informe.pdf'

username = "miusuario"
password = "micontraseña"
url = "http://RptServerIp/ReportServerName/reports/Untitled&rs:Command=Render&rs:Format=PDF"

r = requests.get(url, auth=HttpNtlmAuth(username, password))

print(r.status_code)

if r.status_code == 200:
    with open(filename, 'wb') as out:
        for bits in r.iter_content():
            out.write(bits)

Este es un informe de prueba sin parámetros (y se llama Untitled). El código de estado es 200 y he confirmado que la información de inicio de sesión es correcta cambiando un carácter en la contraseña para que sea incorrecta, lo cual devuelve un código de estado incorrecto. Si voy a la URL http://RptServerIp/ReportServerName/reports/Untitled en mi navegador, muestra el informe, pero si uso la URL completa http://RptServerIp/ReportServerName/reports/Untitled&rs:Command=Render&rs:Format=PDF me da un error.

¿Alguna sugerencia?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el error puede estar relacionado con la URL utilizada en el script. Cuando se accede directamente al informe a través del navegador, se muestra correctamente, pero al intentar renderizarlo como un PDF utilizando la URL especificada en el script, se produce un error. Esto puede indicar que la URL no está configurada correctamente para renderizar el informe como un PDF.

    Una posible solución podría ser intentar acceder al informe a través de una URL diferente que esté configurada para la generación de PDF. También podría ser útil verificar la configuración y la configuración del informe en el lado del servidor para asegurarse de que esté configurado para renderizar correctamente como PDF.

    Además, podría ser útil agregar manejo de errores al script para identificar mejor el problema exacto que causa el archivo PDF corrupto. Esto se puede hacer agregando bloques try-except para capturar cualquier excepción o error que pueda ocurrir durante la ejecución del script.

Comments are closed.