Convertir HTML a PDF

Convertir HTML a PDF

Hola, en este post te muestro como convertir tus vistas HTML a PDF con una herramienta bastante útil, la cual fue desarrollada para tecnología .NET.


Actualmente existen muchas formas de crear reportes pdf en .NET, pero para mi la mejor opción es convertir mis paginas web en HTML, ya que tienes una mejor presentación ya que se muestra tal cual tu lo diseñas.

Por eso es que he decidido compartir esta excelente herramienta, que nos permite exportar nuestras vistas de ASP.NET MVC en un archivo PDF, su nombre; Rotativa.
Requisitos

   a) Visual Studio 2013, Visual Studio 2015 o VIsual Studio 2017
   b) Una buena computadora
   c) y Mucha creatividad.


Paso 1. Aplicación 

Necesitamos Crear una aplicación Web en ASP.NET MVC 

Nuevo proyecto MVC

Paso 2. Crear la vista que vamos a exportar a PDF

En este ejemplo voy a tomar el mismo controller Home y la vista Index, el cual ya me muestra un texto de introducción:

Convertir HTML a PDF

Paso 3. Agregamos Rotativa al proyecto desde Nuget

a) Ya sea por consola, aquí te dejo la URL

b) Agregándolo directamente desde el administrador de complementos Nuget de tu aplicación en Visual Studio:

Rotativa MVC


Paso 4. Creamos el una función que devuelve el PDF

Esta función será capaz de especificar cual es el ActionResult para convertir en PDF. queda así:

public void PDFIndex()
        {
            //Especificamos el ActionResult de donde vamos a jalar el HTML
            MVC.ActionAsPdf oReporte = new MVC.ActionAsPdf("Index");

            //Especificamos una ruta virtual para guardar temporalmente el PDF
            oReporte.FileName = HostingEnvironment.ApplicationPhysicalPath + "/Content/Ejemplo.pdf";

            //Convertimos el
            byte[] oArray = oReporte.BuildPdf(ControllerContext);

            //Creamos el responde para retornar el PDF
            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.Buffer = true;
            Response.ContentType = "application/pdf";
            Response.AddHeader("Ejemplo", "bytes");
            Response.BinaryWrite(oArray);
            Response.End();
            Response.Flush();
        }



Rotativa MVC



En la siguiente URL te dejo el repositorio para que puedas bajar el ejemplo:



Eso ha sido todo por hoy…nos vemos en la próxima 

www.soluciones-dc.com


Por
Etiquetas:

Compartir:

 
Copyright © Desarrollo Web y Cursos Online. Designed by OddThemes & VineThemes