ما هي أفضل طريقة لإنشاء الفواتير وطباعتها في تطبيق .NET؟

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

  •  02-07-2019
  •  | 
  •  

سؤال

أعمل على نظام فواتير لشركة مرافق، ولدينا المتطلبات التالية:

  • قم بإنشاء وطباعة ما يقرب من 1500 فاتورة يوميًا، ثم نرسلها بالبريد إلى العملاء
  • احفظ الفاتورة بتنسيق يمكن إرساله عبر البريد الإلكتروني إلى العميل وأرشفته أيضًا (ربما PDF)
  • تم إنشاؤه باستخدام .NET مع الواجهة الخلفية لقاعدة بيانات MS SQL Server

أود الحصول على بعض النصائح حول أفضل طريقة لتحقيق ذلك.أفكر في إنشاء تطبيق WPF يحتوي على قالب الفاتورة الذي نربط بيانات الفاتورة به ونطبع منه.لكنني لم أستخدم WPF من قبل، لذلك لست متأكدًا مما إذا كانت هذه هي أفضل تقنية يمكن استخدامها، ولا أستطيع أن أفهم كيفية عمل التجميع وتحويل PDF.

أي أفكار؟هل سيعمل WPF أم أن هناك حل أفضل؟

هل كانت مفيدة؟

المحلول

إذا كنت تستخدم واجهة SQL Server الخلفية، فمن المفترض أن تعمل خدمات التقارير لصالحك.

وإلا فإنني أوصي بمولد تقارير تابع لجهة خارجية يناسب احتياجات إعداد التقارير الخاصة بك وإنشاء تطبيق يستخدمه لإنشاء التقارير وتصديرها.

نصائح أخرى

أوصي بشدة بالعمل باستخدام أداة إعداد التقارير التي توفر دعمًا أصليًا للتصدير إلى PDF، فمن الأسهل بكثير لأغراض الإدارة إذا كان بإمكانك البدء بتنسيق واحد وتقرير للتعامل مع كل من طباعة المعلومات وأرشفتها.

إذا كنت تقوم حقًا بمعالجة الدُفعات، فلن أرى WPF كمكون مطلوب كمهمة دفعية، حيث لا يكون لديك الكثير من واجهة المستخدم، إن وجدت على الإطلاق، اعتمادًا على كيفية تنفيذ ذلك حقًا.

لو كنت مكانك، فسأركز على إنشاء معالج دفعي يمكن تشغيله كخدمة Windows، أو جدولته للتشغيل على فترات زمنية محددة لإنجاز مهمته.

يمكنك الحصول على ميزات طباعة جيدة من WPF منذ تنسيق الورق للتكنولوجيا الجديدة XPS الوثيقة هي بديل لPDF.ولديه دعم برمجي رائع أيضًا.مدونة من بيتزولد http://www.charlespetzold.com/blog/2006/02/201111.html بخصوص طباعة WPF

حتى مع SQL Server، قد ترغب في إلقاء نظرة على وظيفة التقارير من جانب العميل.إنه يناسب IMO بشكل أفضل مع ما تريد.لا يزال بإمكانك الاستعلام والحصول على جميع البيانات التي تحتاجها من الخادم، ولكنه يسمح لك بالتحكم الكامل في عملية الأتمتة.ربما تريد تشغيله كخدمة، كل يوم يتم إنشاء التقرير بواسطة الخدمة، وتحويله إلى PDF ونسخه على القرص وإرساله تلقائيًا عبر البريد الإلكتروني.يمكن لجانب العميل أن يفعل كل ذلك وبسهولة.وليس هناك اعتماد على خدمات التقارير أو IIS، أو الحاجة إلى تكوين أي منها.

ربما يجب عليك تجربة ActiveReports.NET أو DevExpress XtraReports لإنشاء التقارير أولاً عن طريق التعليمات البرمجية.يتمتع كلاهما بدعم تصدير PDF حتى تتمكن من إنشاء ملفات PDF وإرسالها عبر البريد.

راجع هذا الكتاب (http://www.apress.com/book/view/9781590598542) فهو يوفر العديد من السيناريوهات المختلفة، بما في ذلك إرسال التقارير عبر البريد الإلكتروني وخدمة إنشاء التقارير وما إلى ذلك.يتعلق الأمر بإعداد التقارير من جانب العميل، ولكنه ينطبق بشكل جيد على جانب الخادم (جانب التصميم على أي حال).قد يكون لهذا مزاياه عند القيام بذلك من جانب العميل (أو الخادم المخصص) حيث يمكنك التحكم الكامل في عملية الأتمتة.ولكن هذا إذا كنت تريد استخدام تقارير .NET.

ونعم يمكنك استخدام WPF.

يمكنك أيضًا إلقاء نظرة على itextSharp.إنها أداة كتابة بتنسيق pdf.net وهي عبارة عن منفذ لـ Java itext.اللعب المحدود الذي قمت به جعل كتابة pdf أمرًا بسيطًا وممتعًا.

في أحد المشاريع التي أعمل عليها نستخدم القائمة والتسمية.

في الأساس لديك واجهة برمجة تطبيقات .NET، وتقوم بتمريرها إلى DataSet ثم تقوم بإنشاء قوالب تشير إلى الأعمدة الموجودة في مجموعة البيانات، والتي يمكن طباعتها على الأقل (وأفترض تصديرها إلى PDF أيضًا ولكن لم يتم التحقق منها ...)

لم أعمل معها بنفسي لذا لا أستطيع أن أقول الكثير عن الجودة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top