سنتعلم فى هذا الدرس كيفية استخدام العنصر
Print Document
حيث Print Document هو المكون الأساسي للطباعة داخل الدوت نت
وتتم الطباعة عبر استدعاء الطريقة Print للكائن PrintDocumet وهذه الطريقة تنادي علي الحدث PrintPage وهو الحدث الذى يوضع فيه كود تحديد خصائص الطباعة وذلك باستخدام طرق الرسم للكائن Griphic لنقوم بذلك أنشأ مشروع جديد وضع المكون PrintDocumet على الفورم واضف زر أمر Button
لكي نطبع الصفحة نكتب فى حدث الزر هذا الكود
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PrintDocument1.Print()
End Sub
اضعط ظغطتين علي المكون PrintDocumet يظهر الحدث PrintPage
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles
PrintDocument1.PrintPage
End Sub
البارمتر e : جميع الخواص التى فيه هى المسئولة عن خواص الطباعة
الخاصية Graphics : هى المسئولة عن تحديد مخرجات الطباعة التى ستطبع
الخاصية MarginBounds : الخاصية المسئولة عن الهوامش للصفحة وتحدد منطقة الطباعة
الخاصية PageSettings : الخاصية المسئولة عن خصائص الصفحة المطبوعة - حجم اصفحة - الاتجاه - الهوامش وغيرها من الخواص
ومن خواص الخاصية PageSettings الخاصية PrinterSettings وهي خاصية أخري تحتوى على خصائص حول الطابعة والاعدادات الخاصة بها
نتعامل مع الكود التالى فى الحدث PrintPage
يقوم بطباعة مستطيل يغلق منطقة الطباعه للصفحة(الهوامش)
يقوم بطباعة نص فى داخله كما يقوم بطباعة نص خارج منطقة الطباعة القيمة الافتراضية للهوامش هى 1 انش لكل جانب
سنتعلم من المثال كثير من الطرق المهمة لذا يجب الانتباه
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim Gra As Graphics = e.Graphics
Dim X, Y, Widt, Heig As Integer
X = e.MarginBounds.X
Y = e.MarginBounds.Y
Widt = e.MarginBounds.Width
Heig = e.MarginBounds.Height
Gra.DrawRectangle(Pens.Red, New Rectangle(X, Y, Widt, Heig))
Dim printFont As New Font("tahoma", 36, FontStyle.Regular)
Gra.DrawString("BADRMEDIA SOFTWARE", printFont, _
Brushes.Green, 150, 300)
Gra.DrawString("Print Out Range", _
New Font("arial", 20, FontStyle.Regular), _
Brushes.Black, -10, -10)
End Sub
العنصر PageSettings
له عدة خصائص منها :
الخاصية Bounds وهى مثل الخاصية MarginBounds للبارمتر e فى الحدث printpage لكن هذه الخاصية هنا لا تهتم بالهوامش المحددة عن طريق المستخدم وهى تمثل شكل مستطيل Rectangle حجم صفحة A4 هى 827×1169 وصفحة letter هي 850×1100
الخاصية Margins :
تمثل الهوامش المحددة عم طريق المستخدم كخواص Top - Left - Right - Bottom
الخاصية PaperSize :
تمثل الخاصية حجم الورق وابعاد الورقة هى ابعاد الخاصية Bounds ولكن هناك خاصيتان مهمتان لهذا الكائن هما Kind و PaperName
الخاصية Kind تاخذ نوع الورق
الخاصية PaperSource :
تمثل نوع ملقم الورق أو درج الورق
SourceName للعنصر PaperSource هو ''Auto Sheet Feeder."
الخاصية PrinterResolution :
تمثل دقة الطباعة الخواص X,Y لهذا العنصر تعود بالقيم الافقية والعمودية على التوالى كنقاط لكل انش DPI والخاصية Kind تتضمن عدة خواص (Low, Medium, High, Custom, Draft )
الخاصية Color :
تسند لها قيمة منطقية True / False - تجعلها True لو كانت الطابعة ألوان
If printDoc.PrinterSettings.SupportsColor Then
e.PageSettings.Color = True
End If
================================
تعرفنا على الكائن PageSettings
تعال نتعرف الان على الكائن
الكائن PrinterSettings
من خواص هذا الكائن:
SupportsColor :
تستطيع عن طريقه أن تعود بقيمة منطقية تحدد اذا كانت الطابعة تدعم الطباعة بالالوان ام لا واستخدامناه فى الكود السابق
MaximumCopies :
يعطى اقصى عدد من النسخ ممكن أن تطبعه الطابعة فى المرة الواحدة
Copies :
تحدد فيها عدد النسخ المراد طباعتها
IsValid :
تعود بقيمة منطقية تحدد اذا كان اسم الطابعة صحيح وان الطابعة موجودة ومتاحة
InstalledPrinters :
يسترجع اسماء كل الطابعات الموجودة على الكمبيوتر والشبكة صناديق الحوار هناك ثلاث كائنات تكون كمربعات حوار أثناء التنفيذ تستخدم مع الكائن Print Document ووظيفتها التحكم فى عملية الطباعة والتعامل مع خيارات المستخدم
صندوق الحوار PageSetupDialog
هذا الصندوق يحدد اعدادات الصفحة اتجاه الطباعة - الهوامش - الورق الخ من أمور
صندوق الحوار PageSetupDialog يعود بكائن PageSetting يمثل الاعدادات المحددة من قبل المستخدم ويجب مراعاتها و جعل البرنامج يقوم بالطباعة على حسب ما حدده المستخدم
With PageSetupDialog1
.PageSettings = PrintDocument1.DefaultPageSettings
If .ShowDialog =DialogResult.OK Then _
PrintDocument1.DefaultPageSettings = .PageSettings
End With
مربع الحوار PrintDialog :
مربع الحوار هذا يسمح للمستخدم باختيار الطابعة وتحديد الخواص لها لو تجاهلته سيتم استخدام الافتراضية بخواصه
PrintDialog1.PrinterSettings = _
PrintDocument1.DefaultPageSettings.PrinterSettings
PrintDialog1.AllowSelection = True
PrintDialog1.AllowSomePages = True
If PrintDialog1.ShowDialog = DialogResult.OK Then
PageSetupDialog1.PageSettings =
PrintDocument1.DefaultPageSettings
If PageSetupDialog1.ShowDialog = DialogResult.OK Then
PrintDocument1.DefaultPageSettings = _
PageSetupDialog1.PageSettings
PrintDocument1.Print
End If
مربع الحوار PrintPreview :
لمعاينة المخرجات قبل طباعتها ومعرفة مدى ملاءمتها للطباعة ثم يحدد هل سيطبع ام لا وبذلك تلغي الأمر Print للكائن PrintDocument فتضع للعنصر ShowDialog الأمر PrintPreview
ليست هناك تعليقات:
اضافة تعليق