منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف اضف عدد النسخ فى كود تصدير التقرير الى PDF - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كيف اضف عدد النسخ فى كود تصدير التقرير الى PDF (/showthread.php?tid=52243)



كيف اضف عدد النسخ فى كود تصدير التقرير الى PDF - new_programer - 16-03-25

السلام عليكم 

كل عام وانتم بخير 

لدي كود تصدير التقرير الى ملف PDF
 اريد  التحكم فى عدد نسخ الطباعة من خلال تكست بوكس 
الكود المستخدم فى التصدير 



كود :
   Dim rpt As New CrystSalePOSinv  'اسم التقرير

       SFDialog.Filter = "Pdf Files|*.pdf"
       If SFDialog.ShowDialog() = DialogResult.OK Then
           rpt.ExportToDisk(ExportFormatType.PortableDocFormat, SFDialog.FileName)
           MessageBox.Show("تم تصدير التقرير بنجاح", "تصدير")
           Cursor = Cursors.Default
       End If



RE: كيف اضف عدد النسخ فى كود تصدير التقرير الى PDF - princelovelorn - 17-03-25

وعليكم السلام ورحمة الله وبركاته

جرب هذا الكود

كود :
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Diagnostics

' مثال على الزر الذي ينفذ العملية
Private Sub btnExport_Click(sender As Object, e As EventArgs) Handles btnExport.Click
   Dim rpt As New CrystSalePOSinv ' اسم التقرير
   Dim numCopies As Integer = 1

   ' التحقق من قيمة TextBox
   If Integer.TryParse(txtCopies.Text, numCopies) = False OrElse numCopies <= 0 Then
       MessageBox.Show("برجاء إدخال رقم صحيح لعدد النسخ.", "تنبيه")
       Exit Sub
   End If

   SFDialog.Filter = "Pdf Files|*.pdf"
   If SFDialog.ShowDialog() = DialogResult.OK Then
       ' تصدير التقرير إلى PDF
       rpt.ExportToDisk(ExportFormatType.PortableDocFormat, SFDialog.FileName)
       MessageBox.Show("تم تصدير التقرير بنجاح", "تصدير")

       ' طباعة ملف PDF بعدد النسخ المطلوبة
       For i As Integer = 1 To numCopies
           PrintPDF(SFDialog.FileName)
       Next

       Cursor = Cursors.Default
   End If
End Sub

' دالة لطباعة ملف PDF عبر أمر الطباعة في ويندوز
Private Sub PrintPDF(pdfFilePath As String)
   Dim proc As New Process()
   proc.StartInfo.FileName = pdfFilePath
   proc.StartInfo.Verb = "print" ' أمر الطباعة
   proc.StartInfo.CreateNoWindow = True
   proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
   proc.Start()
End Sub