Quel est le meilleur moyen de générer et d’imprimer des factures dans une application .NET?

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

  •  02-07-2019
  •  | 
  •  

Question

Je travaille sur un système de facturation pour une entreprise de services publics et nous avons les exigences suivantes:

  • Générer par lots et imprimer environ 1 500 factures par jour que nous envoyons ensuite aux clients
  • Enregistrez la facture dans un format pouvant être envoyé au client par courrier électronique et également archivé (probablement au format PDF)
  • Construit avec .NET avec le back-end de base de données MS SQL Server

Je voudrais des conseils sur la meilleure façon d’y parvenir. Je songe à créer une application WPF avec le modèle de facture auquel nous lions les données et imprimons. Mais comme je n’avais jamais utilisé WPF auparavant, je ne sais pas si c’est la meilleure technologie à utiliser et je ne comprends pas comment le traitement par lots et la conversion PDF fonctionneraient.

Des pensées? WPF fonctionnerait-il ou existe-t-il une meilleure solution?

Était-ce utile?

La solution

Si vous utilisez un serveur SQL Server, Reporting Services devrait fonctionner pour vous.

Sinon, je recommanderais un générateur de rapports tiers qui réponde à vos besoins en matière de rapports et crée une application qui l'utilise pour créer & amp; exporter les rapports.

Autres conseils

Je recommande vivement d'utiliser un outil de génération de rapports offrant une prise en charge native de l'exportation au format PDF. Il est beaucoup plus facile de gérer un seul format et de créer un rapport pour gérer à la fois l'impression et l'archivage des informations.

Si vous effectuez réellement un traitement par lots, je ne considérerais pas WPF comme un composant nécessaire comme un travail par lots. Vous n’avez pas vraiment beaucoup d’UI, le cas échéant, en fonction de la manière dont vous l’implémentez réellement.

Si j'étais vous, je me concentrerais sur la création d'un processeur de traitement par lots pouvant être exécuté en tant que service Windows ou planifié pour s'exécuter à des intervalles spécifiques afin d'accomplir sa tâche.

Vous pouvez obtenir de bonnes fonctionnalités d'impression dans WPF puisque le nouveau document au format papier XPS remplace le format PDF. Et il offre également un excellent support de programmation. Un blog de pettzold http://www.charlespetzold.com/blog/2006/ 02 / 201111.html sur l’impression WPF.

Même avec SQL Server, vous voudrez peut-être examiner la fonctionnalité de rapports côté client. Cela correspond vraiment mieux à l’OMI avec ce que vous voulez. Vous pouvez toujours interroger le serveur et obtenir toutes les données dont vous avez besoin, mais cela vous permet de contrôler totalement le processus d'automatisation. Peut-être souhaitez-vous l'exécuter en tant que service, chaque jour que le rapport est généré par le service, converti au format PDF et copié sur disque et envoyé automatiquement par courrier électronique. Le côté client peut faire tout cela facilement. Et il n’ya aucune dépendance vis-à-vis des services de génération de rapports, d’IIS ou de la configuration de ceux-ci.

Peut-être devriez-vous essayer avec ActiveReports.NET ou DevExpress XtraReports de générer les rapports d’abord par code. Les deux prennent en charge l’exportation PDF afin que vous puissiez générer des fichiers PDF et les envoyer par courrier.

Consultez ce livre, ( http://www.apress.com/book/view / 9781590598542 ), il donne de nombreux scénarios différents, notamment des rapports par courrier électronique, un service de génération de rapports, etc. Il concerne les rapports côté client, mais il s’applique également au côté serveur (en tout cas, côté conception). cela peut avoir ses avantages de le faire côté client (ou serveur dédié) car vous pouvez contrôler totalement le processus d'automatisation. Mais si vous voulez utiliser les rapports .NET.

Et oui, vous pouvez utiliser WPF.

Vous pouvez également regarder itextSharp. C'est un outil d'écriture pdf .net et un portage de l'itext Java. Le jeu limité que j'ai fait avec elle a rendu l'écriture pdf simple et amusante.

Sur l'un des projets sur lesquels je travaille, nous utilisons list & amp; étiquette .

En gros, vous avez une API .NET, vous lui transmettez un DataSet, puis vous créez des modèles qui référencent les colonnes du jeu de données, qui peuvent au moins être imprimées (et je suppose exportées au format PDF aussi, sans vérifier ... )

Je n'ai pas travaillé moi-même, alors je ne peux pas en dire beaucoup sur la qualité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top