Reportes con Origen URL

En este artículo se explican los diferentes tipos de reportes que se pueden crear con Quick Reports. Quick Reports es una herramienta poderosa para generar reportes de manera rápida y eficiente. A continuación, se describen los diferentes tipos de reportes que puedes crear:

Ejemplos de Código

Integra Quick Report fácilmente en tus aplicaciones

Obtener un API KEY
Quick Report
Descargar Reportes con URL

Este artículo muestra como descargar reportes en formato PDF desde Quick Report utilizando diferentes lenguajes de programación y plataformas. Puedes elegir entre JavaScript, C#, PHP y más. para este ejemplo el reporte debe tener como origen de datos (DataSource) una URI y puede recibir más de un parámetro.

Para descargar un reporte en formato PDF, Quick Report proporciona un endpoint REST que puedes utilizar en tu aplicación. A continuación, se presentan ejemplos de cómo realizar esta tarea en diferentes lenguajes y plataformas.

Descargar el reporte desde javascript

Utiliza JavaScript para descargar el reporte en formato PDF:

                                        
// Define los parámetros necesarios
const apiKey = "yourApiKeyHere"; // Reemplaza con tu API Key
const reportName = "yourReportNameHere"; // Reemplaza con el nombre del reporte

// Construye la URL del endpoint
const url = `https://design.quickreport.net/Report/GetReportPDFFromURI?apiKey=${encodeURIComponent(apiKey)}&reportName=${encodeURIComponent(reportName)}`;

// Realiza la solicitud GET
fetch(url, {
    method: "GET"
})
    .then(response => {
        if (!response.ok) {
            throw new Error("Error al obtener el reporte PDF");
        }
        return response.blob(); // Obtén el archivo PDF como un blob
    })
    .then(blob => {
        // Crea un enlace para descargar el PDF
        const downloadUrl = window.URL.createObjectURL(blob);
        const a = document.createElement("a");
        a.href = downloadUrl;
        a.download = `${reportName}.pdf`; // Nombre del archivo descargado
        document.body.appendChild(a);
        a.click();
        a.remove();
        window.URL.revokeObjectURL(downloadUrl); // Limpia el objeto URL
    })
    .catch(error => {
        console.error("Error:", error);
    });
                                        
                                    

Integración con API REST

Conecta Quick Report con tu API para obtener datos desde tu backend de aplicación en .NET:

                                        
// Define la URL base y los parámetros
$baseUrl = "https://design.quickreport.net"; // Cambia esto por la URL base de tu aplicación
$apiKey = "yourApiKeyHere"; // Reemplaza con tu API Key
$reportName = "yourReportNameHere"; // Reemplaza con el nombre del reporte

// Construye la URL completa
$url = $baseUrl . "/Report/GetReportPDFFromURI?apiKey=" . urlencode($apiKey) . "&reportName=" . urlencode($reportName);

// Inicializa cURL
$ch = curl_init();

// Configura las opciones de cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

// Ejecuta la solicitud
$response = curl_exec($ch);

// Verifica si hubo errores
if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    // Obtén el código de respuesta HTTP
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    if ($httpCode == 200) {
        // Guarda el archivo PDF en el disco
        $filePath = $reportName . ".pdf";
        file_put_contents($filePath, $response);
        echo "Reporte descargado exitosamente: " . $filePath;
    } else {
        echo "Error al obtener el reporte. Código HTTP: " . $httpCode;
    }
}

// Cierra la conexión cURL
curl_close($ch);

?>
                                        
                                    

Descargar el reporte desde PHP

Utiliza PHP para descargar el reporte en formato PDF:

                                        
[HttpGet("CallGetReportPDFFromURI")]
public async Task CallGetReportPDFFromURI(string apiKey, string reportName)
{
    // Construye la URL del endpoint
    string baseUrl = "https://design.quickreport.net"; // Cambia esto por la URL base de tu aplicación
    string url = $"{baseUrl}/Report/GetReportPDFFromURI?apiKey={Uri.EscapeDataString(apiKey)}&reportName={Uri.EscapeDataString(reportName)}";

    // Crea un cliente HttpClient
    var client = _httpClientFactory.CreateClient();

    try
    {
        // Realiza la solicitud GET
        var response = await client.GetAsync(url);

        if (response.IsSuccessStatusCode)
        {
            // Obtén el contenido como un archivo PDF
            var pdfStream = await response.Content.ReadAsStreamAsync();

            // Devuelve el archivo PDF al cliente
            return new FileStreamResult(pdfStream, "application/pdf")
            {
                FileDownloadName = $"{reportName}.pdf"
            };
        }
        else
        {
            return BadRequest($"Error al obtener el reporte: {response.StatusCode} - {response.ReasonPhrase}");
        }
    }
    catch (Exception ex)
    {
        return StatusCode(500, $"Error interno: {ex.Message}");
    }
}
                                        
                                    

Descargar el reporte desde la terminal

Inicializa Quick Report en tu consola para descargar directamente el reportes en formato PDF:

                                        
curl -X GET "https://design.quickreport.net/Report/GetReportPDFFromURI?apiKey=yourApiKeyHere&reportName=yourReportNameHere" -o report.pdf
                                        
                                    
Ejemplo de como crear un reporte usando URL como origen de datos en el diseñador web