2009-01-06 8 views
7

Estoy usando ITextSharp para convertir una página HTML a PDF.Mantener el estilo de CSS al convertir HTML a PDF en ASP.NET

Sin embargo, ITextSharp imprime el CSS en la declaración STYLE directamente, ignora las hojas de estilo incluso cuando se agrega programáticamente y solo escucha algunos estilos en línea (por ejemplo, tamaño de fuente y color pero no color de fondo).

¿Hay algo que me falta con ITextSharp, o hay una forma mejor (y libre) de hacer esta conversión?

Gracias de antemano,

Respuesta

5

Eche un vistazo a WKHTMLTOPDF. Es de código abierto, basado en webkit y gratuito.

Escribimos un pequeño tutorial here.

+3

¿Es esto por casualidad programable con C# ... Solo veo los usos de la línea de comandos? –

+0

Esto parece el más prometedor hasta ahora. –

+0

Hay una biblioteca de enlaces C, que en teoría podría utilizarse desde C# utilizando P/Invoke, pero aún no he tenido suerte: http://github.com/bamccaig/WkHtmlToPdfDflat. También intenté escribir un programa C simple (desde Linux, incluso) para probar directamente los enlaces C, pero incluso eso falló: http://code.google.com/p/wkhtmltopdf/issues/detail?id=614 . – bambams

7

HTML/CSS en apoyo iText/iTextSharp es very basic. Simplemente no es la herramienta adecuada para convertir html a pdf. Echa un vistazo a estas soluciones en lugar:

Estos representar HTML a una imagen. Luego puede insertarlos en su PDF con iTextSharp.

De lo contrario, podría intentar convertir HTML -> XSL-FO -> PDF, pero incluir CSS es otra cosa.

+0

Muchas gracias !! Voy a verificar esto. –

0

ABCpdf ofrece dos motores de renderizado HTML. Uno se basa en la versión MSHTML instalada en el sistema. El otro se basa en el motor de renderizado FireFox Gecko.

Así que hay mucho espacio para manouver si desea un conjunto particular de características. Es un mundo muy real.

En términos de calidad, diría que muchas personas optan por ABCpdf después de probar muchas alternativas diferentes.

Trabajo en el componente de software ABCpdf .NET, por lo que mis respuestas pueden incluir conceptos basados ​​en ABCpdf. Es solo lo que sé. :-)

+0

Probablemente vale la pena mencionar que es un componente comercial. De hecho, el sitio web es confuso en ese asunto: dice que es gratis y luego dice que es shareware. –