2009-02-05 36 views
6

Tengo una página web ASP.NET que es un informe generado dinámicamente. Por razones comerciales, este informe exacto debe ser producido en formato PDF. ¿Cuál es la mejor manera de hacer esto? Establecer la impresora seleccionada en Adobe PDF no es una opción.¿Documento HTML a PDF?

¿Aprender a crear archivos PDF desde cero desde un punto de vista programático? ¿Hay alguna forma de mostrarlo en algún control de navegador y luego guardar la salida?

Respuesta

4

Si el informe es una cuadrícula (probablemente es), this blog post using iTextSharp puede ayudar. iTextSharp es bueno y la API PDF más completa para C# que he visto.

+2

Si no es una simple rejilla, iTestSharp no es realmente apropiado para sus necesidades, sin embargo - que necesita un html un solo paso para la conversión de PDF, no volver a escribir la línea línea por toda la página de nuevo como un archivo PDF. – MGOwen

3

No sé si ABCpdf .NET es gratis, pero he escuchado cosas buenas al respecto. Creo que puede procesar archivos HTML en PDF directamente.

http://www.websupergoo.com/abcpdf-5.htm

He usado PDFsharp (asumiendo que usted está usando C# en conjunción con ASP) y funciona bien. Sin embargo, no rinde HTML por lo que yo sé.

http://pdfsharp.com/PDFsharp/

-1

No se ha mencionado si usted está buscando una solución de código abierto o una $$ uno?

Pero aquí hay un convertidor de código abierto: http://sourceforge.net/projects/itextsharp/ que es bastante decente.

+1

FYI - Ahora tienen un modelo de licencia "comercial" que no es gratis. No hay detalles sobre el costo en su sitio. – NotMe

0

Si se centra específicamente en la generación de PDF, puedo recomendar los productos Dynamic PDF de CeTe. Son un poco caros, pero tienen muchas opciones, son fáciles de usar y están bastante bien documentados.

8

wkhtmltopdf - Lo compilé en Windows y funciona muy bien. Utiliza WebKit (Safari, Chrome, etc.) para representar una página HTML en PDF, ¡y es gratis!

+0

Encuéntrelo en: http://code.google.com/p/wkhtmltopdf/ Parece bastante bueno a partir de algunas pruebas rápidas. Debería hacer el trabajo si GPLv3 funciona para usted. – RBerteig

+0

en cualquier lugar donde pueda obtener ventanas binarias? – opensas

+0

http://code.google.com/p/wkhtmltopdf/ y es un único binario para ventanas – jle

0

¿Ha consultado SQL Server Reporting Services? Si está utilizando MSSQL 2005/2008, probablemente ya tenga servicios de informes y solo necesita configurarlo. Puede alojar sus informes allí y en unas pocas líneas de código obtener el informe como un archivo PDF.

//create the web request for the report based on a URL that will define export 
    //format, parameter values, etc. 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(reportUrl); 
    //send creditials if necessary 
    request.Credentials = new NetworkCredential(userName, password); 
    //response will contain the PDF file as a stream 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

Aquí es una link que podrían ayudar también

3

El año pasado, hice un proyecto con archivos PDF, y acabo de aprender el formato PDF, por lo cual estoy muy contenta.

PDF specification está disponible libremente, y PDF es bastante accesible y fácil de entender como programador. Un PDF es un documento de texto plano, opcionalmente comprimido. Cada página es un plano cartesiano, en el cual se dibujan formas geométricas una a una. Es de bajo nivel y está hecho a medida para la generación de software.Obviamente hay cosas avanzadas como glifos y cosas, pero al igual que cualquier tecnología bien diseñada, puede apegarse a las capas de abstracción si lo desea.

Ya sea que ver directa de PDF depende de la complejidad de sus documentos. Para cosas básicas como gráficos simples, texto e imágenes (por ejemplo, una factura es un buen candidato), entonces simplemente escribo el PDF directamente. Obtendrás una buena experiencia y tendrás el control total.

Para las cosas más complicadas como tablas y gráficos de tarta (para los que PDF es demasiado bajo nivel para escribir directamente), entonces me gustaría ver en una biblioteca o un conjunto de herramientas de algún tipo.

0

Uso PDF Duo .NET convertir componente. Convierte HTML a PDF para que después de la generación de su informe HTML pueda crear también el PDF en su proyecto ASP.NET.

0

También puede encontrar productos que lo hagan en Adobe, Foxit y Windward Reports (descargo de responsabilidad - Soy el CTO en Windward).