form - print panel in c#



طريقة فعالة لحساب عدد الصفحات المراد طباعتها؟ (1)

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

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

ومن شأنه أيضا أن يوفر بعض المرونة المحتملة على الطريق، لأنه يوفر نهجا أكثر نمطية. وهذا من شأنه أن يسمح لك لتوفير أكثر سهولة خيارات الانتاج الأخرى، مثل هتمل و بدف. ويمكن أيضا جعل "معاينة الطباعة" أسهل.

تلدر كيف يمكن تحديد كمية الصفحات التي يجب طباعتها بكفاءة؟

** مجرد ملاحظة: لقد لاحظت الإجابة كلوجيراما كالجواب على سؤالي. ما زلت مفتوحة للاقتراحات الأخرى على الرغم من!

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

في هذه اللحظة، لقد نفذت طريقة غير فعالة إلى حد ما للطباعة. من أجل معرفة عدد الصفحات التي يجب طباعتها، أفعل "تشغيل جاف" لمهمة الطباعة وألغيه قبل أن يتم إرساله إلى الطابعة. ثم عد عدد الصفحات التي تحتوي على مهمة الطباعة وإضافة تلك المعلومات إلى مهمة الطباعة التي لا تحصل على إرسالها إلى الطابعة. للقيام بذلك، أنا إساءة استخدام "طريقة PrintDocument.PrintPage . بعد القيام بذلك، يمكنني طباعة "صفحة 1/2 - صفحة 2/2" الخ.

أنا أفكر حاليا في التعامل مع هذا بطريقة مختلفة. أعرف أي هوامش لدي في صفحة، مثل رأس وتذييل الصفحة. إرغو، والمسافة بين رأس وتذييل الصفحة هو المساحة المتاحة لطباعة معلومات المادة (الاسم والسعر الخ). إذا كنت حساب ارتفاع السلسلة (باستخدام Graphics.MeasureString )، أستطيع أن أقول عندما تأخذ المقالات مساحة أكبر على صفحة متوفرة للطباعة.

في السابق، قد تستغرق الطباعة ما يصل إلى دقيقة واحدة قبل أن يتم إرسال الرسالة إلى الطابعة (التي يتم أخذها في الاعتبار أن العملاء الذين يشغلون البرنامج ليسوا الأسرع). لقد نفذت هذه الطريقة، والطباعة يستغرق الآن حوالي 5-10 ثوان. ومع ذلك، أنا أتساءل عما إذا كان هذا هو الطريق للذهاب. لا أستطيع أن أتخيل أنني الوحيد الذي يتعامل مع هذه المسألة. كيف تتعامل مع هذا؟

أنا أيضا منفتح على نهج مختلفة تماما.





printing