¿Qué problemas resuelve Aspose.Total ¿Y cómo te beneficia eso?
Apose.Words para .NET nos permitió desarrollar rápidamente un informe PDF personalizado para nuestro dispositivo de medición integrado. Apose.Words tiene 3 interfaces diferentes para crear documentos de Word que luego se convierten en PDFs: LINQ Reporting Engine, Word Mail Merge y el Document Builder. La conversión funciona como la opción de imprimir a PDF de Word y funciona de manera muy consistente. La integración fue muy conveniente usando el gestor de paquetes NuGet, que ya está integrado en Visual Studio, y la biblioteca se actualiza con mucha frecuencia. No se necesita ningún software adicional. Con la documentación y ejemplos disponibles para las tres interfaces, fue muy fácil comenzar.
Optamos por usar el LINQ Reporting Engine, que nos permitió diseñar la plantilla del informe con Microsoft Word, incluyendo familia de fuentes personalizada, encabezados, colores y números de página, y nos permite crear tablas con un número dinámico de filas. El LINQ Reporting Engine funciona con una sintaxis personalizada que se asemeja a una apariencia algo similar al HTML (Imagen 1). Hicimos uso de la sintaxis foreach, que nos permite iterar a través de listas e insertar diccionarios de cadenas. También es posible redefinir variables anidadas (por ejemplo, sample.Header = h) para que la plantilla se mantenga simple. Los datos se alimentan a la biblioteca Apose usando un objeto con propiedades definidas que luego reemplaza los marcadores de posición predefinidos de la plantilla. El espaciado es algo complicado, donde las etiquetas de apertura foreach deben colocarse con cuidado para evitar líneas vacías. El archivo de salida PDF (Imagen 2) se asemeja exactamente al mismo diseño y permite seleccionar texto. Los diccionarios se insertan con pares de clave y valor separados por una pestaña. En este ejemplo, solo las primeras cuatro filas de la tabla están llenas de valores.
Imagen 1 (Archivo de plantilla escrito en Microsoft Word): https://ibb.co/Z8wRzP1
Imagen 2 (Archivo de salida PDF con datos llenos): https://ibb.co/NNtM9wH
La biblioteca Apose admite MemoryStreams como salida para el archivo PDF generado, lo cual es una forma muy conveniente de evitar nombres de archivo.
Nuestra decisión de optar por Apose.Words fue reforzada por el Aspose.Words Document Builder, que está disponible con la misma licencia. El Document Builder debería permitirnos en el futuro construir informes PDF completamente dinámicos usando solo código. El Document Builder también parece estar bien desarrollado, ya que admite todas las propiedades necesarias de Word. Esto simplificaría significativamente el cambio de tamaño de página (de A4 a carta), y el logotipo de la empresa, tener tablas con un número dinámico de columnas, y ocultar dinámicamente ciertas áreas del informe completamente de acuerdo con las necesidades de nuestros clientes. Reseña recopilada por y alojada en G2.com.