Mantener el estilo CSS al convertir HTML a PDF en ASP.NET [cerrado]
-
03-07-2019 - |
Pregunta
Estoy usando ITextSharp para convertir una página HTML a PDF.
Sin embargo, ITextSharp imprime directamente el CSS en la declaración STYLE, ignora las hojas de estilo incluso cuando se agrega mediante programación 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 esté perdiendo con ITextSharp, o hay una forma mejor (y gratuita) de hacer esta conversión?
Gracias de antemano,
Solución
Echa un vistazo a WKHTMLTOPDF. Es de código abierto, basado en webkit y gratuito.
Escribimos un pequeño tutorial aquí .
Otros consejos
El soporte HTML / CSS en iText / iTextSharp es muy básico . Simplemente no es la herramienta adecuada para convertir html a pdf. Eche un vistazo a estas soluciones en su lugar:
- Crea una captura de pantalla de la página con una herramienta similar a Watin
- http: // blog.taiki.be/index.php/2008/07/generating-screenshots-of-webpages-using-net/
- http: //www.codegod .de / WebAppCodeGod / Screenshot-of-Webpage-with-ASP-NET-AID398.aspx
Estos render html a una imagen. Luego puede insertarlos en su PDF con iTextSharp.
De lo contrario, podría intentar convertir HTML - > XSL-FO - > PDF, pero incluyendo CSS hay otra cosa.
Pruebe el convertidor PDF Duo .NET. Puede solicitar asistencia si necesita una función especial.
http://www.duodimension.com/html_pdf_asp.net/downloads /html_pdf_net.zip
ABCpdf proporciona dos motores de representación HTML. Una se basa en la versión de MSHTML instalada en el sistema. El otro se basa en el motor de renderizado FireFox Gecko.
Así que hay mucho espacio para la maniobra si quieres un conjunto particular de características. Es un mundo muy real.
En términos de calidad, solo diría que conseguimos que muchas personas se decidan 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 justo lo que sé. :-)
¿Por qué no usar la API en línea? Hay muchos disponibles y funcionan bien, lo que le permite preocuparse por su trabajo principal, no por cómo representar un PDF correctamente :)
Mencionas algo "gratis". Depende de su uso, pero la mayoría de los servicios ofrecen conversiones gratuitas para comenzar, que van desde 50 hasta 250 (e incluso más). Tal vez sería suficiente para ti?
Todo lo que tendría que hacer entonces es una solicitud POST básica al servicio con sus datos HTML (o enlace), y obtendrá un PDF en respuesta.
Aquí hay una lista de API para convertir HTML a PDF (no exhaustivo):
- PDFShift
- HTML2PdfRocket
- Web2PDFConvert
- PDFonline
- ... (y muchos más :))