2009-08-03 14 views
11

Un proyecto en el que estoy trabajando requiere que cree un informe que se imprime en formato HTML (.aspx) y como PDF. ¿Hay alguna solución disponible que me permita alimentar el resultado de una página .aspx a una utilidad de generación de PDF? El soporte completo de HTML y CSS sería ideal.Convierta directamente .aspx a .pdf

Gracias!

+1

¡Gracias por las respuestas hasta ahora! Una cosa que probablemente debería aclarar ... la aplicación web está protegida con formularios web y un certificado SSL. Espero que esto no sea un problema. De lo que estoy leyendo ABCpdf y wkhtmltopdf parecen ser las mejores opciones. ABCpdf parece estar mejor integrado con .NET, pero wkhtmltopdf hace mucho mejor trabajo de renderizar CSS complejos, ya que usa el motor de renderizado WebKit. El CSS probablemente sea semi-complejo y puede haber imágenes (gráficos, etc.) agregadas en el futuro. ¡Gracias! – JCdowney

Respuesta

12

wkhtmltopdf lo hará .... Uso:

wkhtmltopdf http://www.google.com google.pdf 

Eso es todo. Puede ir a cualquier página web ... incluso aspx. CSS es compatible mejor que cualquier otra utilidad, ya que utiliza el motor de renderizado webkit html (Safari, Chrome). Disfrute

Hay un solo .exe (7 mb) que puede utilizarse desde .Net simplemente usando Process.Start Asegúrese de copiar el archivo exe en su directorio de proyecto o especifique la ruta completa. ejemplo:

static void HtmlToPdf(string website,string destinationFile) 
    { 
     ProcessStartInfo startInfo = new ProcessStartInfo(); 
     startInfo.FileName = "wkhtmltopdf.exe"; 
     startInfo.Arguments = website+" "+destinationFile; 
     Process.Start(startInfo); 
    } 

creo admite SSL, pero no creo que 2 vías SSL funcionaría en este momento. Definitivamente es la mejor herramienta de HTML de una sola parada que he visto.

+0

Esto suena excelente. –

+0

Funciona muy bien, incluso con mi alojamiento web (la aplicación web genera facturas en PDF) – Marek

+0

Encontré que se rompen algunas páginas; consulte esta, por ejemplo: http://jsfiddle.net/BgNPC/8/ –

0

AspPDF es un componente de servidor ActiveX para crear, leer y modificar de forma dinámica archivos de formato de documento portátil (PDF).

http://www.asppdf.com

3

He utilizado HTMLDoc en el pasado ha hecho un buen trabajo al convertir tablas HTML, imágenes, etc. con algunos formatos básicos en un informe PDF decente. También parece haber un open source version también.

iTextSharp representa html en un nivel básico.

Descubrí que el pirateo de un simple procesador de HTML me permitía ofrecer la funcionalidad de PDF inmediatamente y luego tuve que adaptar un procesador de informes PDF más tarde. Esto debería ser bastante simple si mantiene su capa de presentación separada de su lógica de datos y de negocios.

que utilizan PDFlib continuación, pero ambos iTextSharp y PDFlib son impresionantes bibliotecas para crear programáticamente PDF a partir de sus fuentes de datos.

No he visto un renderizador de PDF HTML 2 perfecto, así que planearía un enfoque en dos etapas. También puede consultar this question para conocer otras opciones.

+0

@ sugerencia de Jle wkhtmltopdf suena como un mejor reemplazo para htmldoc. –

0

ActivePDF WebGrabber es un excelente producto una vez que tiene todo configurado correctamente. Es costoso, pero tiene una compatibilidad increíble con HTML y CSS.

0

Hemos utilizado el producto Alt-Soft XML2PDF para este propósito. Puede convertir cualquier archivo XML a PDF utilizando el XSL-FO markup language.

Por lo tanto, si sus páginas ASPX son compatibles con XHTML, Xml2PDF las convertirá en PDF de forma bastante feliz y sencilla. Aquí hay una página de muestra, completa con una muestra descargable de ASP.NET, que muestra cómo funciona: http://www.alt-soft.com/products_HTML2PDF.aspx

¡No es gratis, pero vale la pena el precio de la licencia!

Marc

0

Este es el mejor control para convertir la página ASPX a PDF:

http://www.essentialobjects.com/Products/EOPdf/ASPXToPDF.aspx

Es un control de servidor ASP.NET que puede colocar en su página. Gestiona automáticamente la autenticación y las sesiones de ASP.NET. De modo que puede convertir su página actual incluso si la página solicita el inicio de sesión y utiliza datos de sesión.

+0

no puedo descargarlo desde ninguno de los servidores –

+0

¿Cómo puedo descargarlo? –