¿Cuál es la mejor manera de generar e imprimir facturas en una aplicación .NET?

StackOverflow https://stackoverflow.com/questions/117101

  •  02-07-2019
  •  | 
  •  

Pregunta

Estoy trabajando en un sistema de facturación para una empresa de servicios públicos y tenemos los siguientes requisitos:

  • Genere e imprima por lotes aproximadamente 1500 billetes por día que luego enviamos por correo a los clientes
  • Guarde la factura en un formato que pueda enviarse por correo electrónico al cliente y también archivarse (probablemente PDF)
  • Construido con .NET con back-end de base de datos MS SQL Server

Me gustaría algún consejo sobre la mejor manera de lograr esto.Estoy pensando en crear una aplicación WPF que tenga la plantilla de factura a la que vinculamos los datos de la factura y desde la que imprimimos.Pero no he usado WPF antes, así que no estoy seguro de si esa es la mejor tecnología a usar, y no puedo entender cómo funcionaría el procesamiento por lotes y la conversión de PDF.

¿Alguna idea?¿Funcionaría WPF o existe una solución mejor?

¿Fue útil?

Solución

Si está utilizando un backend de SQL Server, Reporting Services debería funcionar para usted.

De lo contrario, recomendaría un generador de informes de terceros que se ajuste a sus necesidades de informes y crearía una aplicación que lo utilice para crear y exportar los informes.

Otros consejos

Recomiendo encarecidamente trabajar con una herramienta de informes que brinde soporte nativo para exportar a PDF; es mucho más fácil para fines de administración si puede comenzar con un único formato e informe para manejar tanto la impresión como el archivo de información.

Si realmente está realizando un procesamiento por lotes, no vería a WPF como un componente necesario, ya que en un trabajo por lotes realmente no tiene mucha interfaz de usuario, si es que tiene alguna, dependiendo de cómo realmente implemente esto.

Si yo fuera usted, me concentraría en crear un procesador por lotes que podría ejecutarse como un servicio de Windows o programarse para ejecutarse en intervalos específicos para realizar su trabajo.

Puede obtener buenas funciones de impresión de WPF desde la nueva tecnología Formato de papel XPS El documento es un reemplazo del PDF.Y también tiene un gran soporte de programación.Un blog de Pettzold. http://www.charlespetzold.com/blog/2006/02/201111.html con respecto a la impresión WPF.

Incluso con SQL Server es posible que desee consultar la funcionalidad de informes del lado del cliente.Realmente encaja mejor en mi opinión con lo que quieres.Aún puede consultar y obtener todos los datos que necesita del servidor, pero le permite tener un control total sobre el proceso de automatización.Tal vez desee ejecutarlo como un servicio, todos los días el servicio genera el informe, lo convierte a PDF, lo copia al disco y lo envía automáticamente por correo electrónico.El lado del cliente puede hacer todo eso fácilmente.Y no hay que depender de servicios de informes o IIS, ni tener que configurar nada de eso.

Quizás deberías probar con ActiveReports.NET o DevExpress XtraReports para generar los informes primero por código.Ambos tienen soporte de exportación de PDF para que puedas generar archivos PDF y enviarlos por correo.

Mira este libro, (http://www.apress.com/book/view/9781590598542) ofrece muchos escenarios diferentes, incluido el envío de informes por correo electrónico, el servicio de generación de informes, etc.Se trata de informes del lado del cliente, pero se aplica igualmente bien al lado del servidor (de todos modos, del lado del diseño).Esto puede tener sus ventajas al hacerlo del lado del cliente (o servidor dedicado), ya que puede controlar completamente el proceso de automatización.Pero eso es si desea utilizar informes .NET.

Y sí, puedes usar WPF.

También puedes mirar itextSharp.Es una herramienta de escritura de PDF .net y es una adaptación de itext de Java.El juego limitado que hice con él hizo que escribir PDF fuera simple y divertido.

En uno de los proyectos en los que trabajo utilizamos lista y etiqueta.

Básicamente, tienes una API .NET, le pasas un conjunto de datos y luego creas plantillas que hacen referencia a las columnas del conjunto de datos, que al menos se pueden imprimir (y supongo que también se exportan a PDF, pero no lo comprobé...)

Aunque no trabajé con él, así que no puedo decir mucho sobre la calidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top