¿Cómo exportar una página web a PDF con solo pasar la URL de parámetro?4190

¿Cómo exportar una página web a PDF con solo pasar la URL de parámetro?

En este post veremos una tarea que es muy común en el desarrollo de sitios web, cómo exportar una página web  o HTML a PDF. El código es muy sencillo, solo se requiere de 4 líneas de código y listo. Al final del artículo puedes encontrar un video que te lleva paso a paso de cómo exportar una página web a PDF. Bueno pasamos al ejemplo

  1. Vas a Estrada WebGroup, HTML a PDF y seleccionas probar para generar tu API
  2. Creas un sitio web nuevo en Visual Studio
  3. Agregas la referencia del servicio web (http://produccion.developerji.com/ConvertirHtmlaPDF.asmx), como se muestra a continuación.
    convertir html a pdf en mi sitio web      convertir html a pdf con asp.net

    servicio web para convertir html a pdf
     
  4. Agregas una página al sitio y a esta le agregas un botón, que sería el que invoque la conversión de la página a PDF. El HTML queda de la siguiente manera:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="bntConvertPDF" runat="server" Text="Convertir a PDF" />
        </div>
        </form>
    </body>
    </html>
    
  5. Creas el código de servidor en el evento clic del botón y este quedaría de la siguiente manera:
     Protected Sub bntConvertPDF_Click(sender As Object, e As EventArgs) Handles bntConvertPDF.Click
            'Dirección fisica donde se guardara el pdf 
            Dim sFile As String = Server.MapPath("~/Cliente/pdfdemo.pdf")
            'Llamada al servicio web  
            Dim servicio As New ConvertPDF.ConvertirHtmlaPDFSoapClient
            'Descargo el PDF y se guarda en el servidor del cliente  
            'sFile: la dirección donde se guarda el PDF. En el servicio web servicio.ConvertirUrl_PDF,  
            ' se pasa por parametro la url a convertir, el nombre de usuario y el API que se genera cuando  
            'el usuario se registra en developerji.com 
            File.WriteAllBytes(sFile, servicio.ConvertirUrl_PDF("http://es.wikipedia.org", "jiestrada", "qF4OxILMDYXY6vQ"))
            'Por ultimo redirigimos a donde se encuentra el PDF
            Response.Redirect("~/Cliente/pdfdemo.pdf")
        End Sub
  6. Por ultimo abres el web.config  y en <binding debe quedar de la siguiente manera, no modifique el parámetro name, solo agrega lo que falte y listo, ejecuta tu sitio web.
     <binding name="ConvertirHtmlaPDFSoap" openTimeout="00:12:00" receiveTimeout="00:12:00" sendTimeout="00:12:00" maxBufferPoolSize="2097152" maxReceivedMessageSize="2097152"/>

Compartir

Comentarios (5)

  • Carlos Responder

    Muy bueno el post. Tengo dos dudas . Se puede implantar desde un entorno alojada en una intranet?. otra duda es si la api ley de la opcion probar tiene caducidad?

    Wednesday, November 23, 2016 12:16 PM
  • DHB Responder

    Pregunta puedo implementarlo en c#?? y cual seria el ejemplo

    Wednesday, November 23, 2016 12:50 PM
  • Stansbury Responder

    Heya! I just wanted to ask if you ever have any issues with hackers? My last blog (wordpress) was hacked and I ended up losing months of hard work due to no back up. Do you have any solutions to stop hackers?

    Wednesday, May 31, 2017 11:25 AM
  • Leeson Responder

    Awesome issues here. I am very happy to peer your post. Thanks so much and I'm taking a look ahead to contact you. Will you please drop me a mail?

    Sunday, June 4, 2017 10:02 PM
  • McWilliams Responder

    Hello! This is my 1st comment here so I just wanted to give a quick shot out and say I really enjoy reading your posts. Can you suggest any other blogs/websites/forums that go over the same topics? Thank you so much!

    Wednesday, June 14, 2017 8:41 AM

Animate deja un comentario!!!

Eres un humano?

Últimos Tweets

Contáctanos

  • Dirección: Plutarco Elias Calles 243, Granjas México, Iztacalco, DF.

  • Teléfono:55-2712-3820 o 55-4164-9484

  • Email: info@developerji.com