تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تحويل صفحات الطباعة الي صور
#1
استخدم الفيجول بيسك دوت نت

انا اقوم بطباعة بعض البيانات قد تكون صفحة او عددة صفح  استخد م الاحداث  printdocument   ,  prentpreview

اريد تحويلهم الي صورة لو صفحة واحدة او عدة صور لو عدة صفح  وانشاء فولدر  باسم ياتي من تيكست بوكس

بكل عملية طباعة  بمعني يقوم بوضع الالصورة او الصور داخل الفولدر
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
Public Class Form1

    Private PreviewPrintController1 
As New Printing.PreviewPrintController()

 
   Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
        PrintDocument1
.PrintController PreviewPrintController1
        PrintDocument1
.Print()
 
   End Sub

    Private Sub PrintDocument1_PrintPage
(ByVal sender As ObjectByVal e As Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
        
'
        '
 
       '
        '
 
       '
        '
 
   End Sub

    Private Sub PrintDocument1_EndPrint
(ByVal sender As ObjectByVal e As Printing.PrintEventArgsHandles PrintDocument1.EndPrint
        Dim folder 
As String "E:\excelfile\image\\"
 
       If Not IO.Directory.Exists(folderThen IO.Directory.CreateDirectory(folder)

 
       Dim PreviewPageInfo1() As Printing.PreviewPageInfo PreviewPrintController1.GetPreviewPageInfo()
 
       For i 0 To PreviewPageInfo1.Count 1
            PreviewPageInfo1
(i).Image.Save(folder ".png"Imaging.ImageFormat.Png)
 
       Next
    End Sub

End 
Class 
    Updated
الرد }}}
تم الشكر بواسطة: محمد اسماعيل
#3
الصور بتروح فين  ههة

انا عدلت بالطريقة دية  ومظهرتش الصور

 If (Not System.IO.Directory.Exists("E:\excelfile\image")) Then
           System.IO.Directory.CreateDirectory("E:\excelfile\image")
       End If

       Dim PreviewPageInfo1() As Printing.PreviewPageInfo = PreviewPrintController1.GetPreviewPageInfo()
       For i = 0 To PreviewPageInfo1.Count - 1
           PreviewPageInfo1(i).Image.Save("E:\excelfile\image\" & i & ".jpg", Imaging.ImageFormat.Jpeg)
         
       Next
الرد }}}
تم الشكر بواسطة:
#4
PrintDocument1.Print
PHP كود :
Private Sub PrintDocument1_EndPrint(ByVal sender As ObjectByVal e As Printing.PrintEventArgsHandles PrintDocument1.EndPrint
    Dim folder 
As String "E:\excelfile\image\\"
 
   If Not IO.Directory.Exists(folderThen IO.Directory.CreateDirectory(folder)

 
   Dim PreviewPageInfo1() As Printing.PreviewPageInfo PreviewPrintController1.GetPreviewPageInfo()
 
   For i 0 To PreviewPageInfo1.Count 1
        PreviewPageInfo1
(i).Image.Save(folder ".jpg"Imaging.ImageFormat.Jpeg)
 
   Next
End Sub 
الرد }}}
تم الشكر بواسطة:
#5
ظهر عدد اكبر من الموجود بالبرنت بريفيو يعني الموجود 3 صفح الكود ظهر 8
الصورة جزء واضح والاخر اسود كلة

عدلت مكان الكود وظهر نفس عدد الصور ولكن الصورة تظهر باللون الاسود رابط شكل الصورة

https://www.dropbox.com/s/egidd6pal3ouzp8/0.jpg?dl=0
الرد }}}
تم الشكر بواسطة:
#6
PHP كود :
Private Sub PrintDocument1_PrintPage(ByVal sender As ObjectByVal e As Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
    e
.Graphics.Clear(Color.White)
 
   '
    ' 
الرد }}}
تم الشكر بواسطة:
#7
(27-10-17, 10:12 PM)a.ahmed كتب :
PHP كود :
Private Sub PrintDocument1_PrintPage(ByVal sender As ObjectByVal e As Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
    e
.Graphics.Clear(Color.White)
 
   '
    ' 

الصفحة ظهرت بيضاء كلها
الرد }}}
تم الشكر بواسطة:
#8
PHP كود :
Public Class Form1

    Private PreviewPrintController1 
As New Printing.PreviewPrintController()

 
   Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
        PrintDocument1
.PrintController PreviewPrintController1
        PrintDocument1
.Print()
 
   End Sub

    Private Sub PrintDocument1_PrintPage
(ByVal sender As ObjectByVal e As Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
        
'
        '
 
       '
        '
 
       '
        '
 
   End Sub

    Private Sub PrintDocument1_EndPrint
(ByVal sender As ObjectByVal e As Printing.PrintEventArgsHandles PrintDocument1.EndPrint
        Dim folder 
As String "E:\excelfile\image\\"
 
       If Not IO.Directory.Exists(folderThen IO.Directory.CreateDirectory(folder)

 
       Dim PreviewPageInfo1() As Printing.PreviewPageInfo PreviewPrintController1.GetPreviewPageInfo()
 
       For i 0 To PreviewPageInfo1.Count 1
            PreviewPageInfo1
(i).Image.Save(folder ".png"Imaging.ImageFormat.Png)
 
       Next
    End Sub

End 
Class 
الرد }}}
تم الشكر بواسطة: محمد اسماعيل
#9
ممكن أتفرج علي الصورة الأصلية المطلوب طباعتها
Retired
الرد }}}
تم الشكر بواسطة: محمد اسماعيل
#10
(27-10-17, 10:29 PM)a.ahmed كتب :
PHP كود :
Public Class Form1

    Private PreviewPrintController1 
As New Printing.PreviewPrintController()

 
   Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
        PrintDocument1
.PrintController PreviewPrintController1
        PrintDocument1
.Print()
 
   End Sub

    Private Sub PrintDocument1_PrintPage
(ByVal sender As ObjectByVal e As Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
        
'
        '
 
       '
        '
 
       '
        '
 
   End Sub

    Private Sub PrintDocument1_EndPrint
(ByVal sender As ObjectByVal e As Printing.PrintEventArgsHandles PrintDocument1.EndPrint
        Dim folder 
As String "E:\excelfile\image\\"
 
       If Not IO.Directory.Exists(folderThen IO.Directory.CreateDirectory(folder)

 
       Dim PreviewPageInfo1() As Printing.PreviewPageInfo PreviewPrintController1.GetPreviewPageInfo()
 
       For i 0 To PreviewPageInfo1.Count 1
            PreviewPageInfo1
(i).Image.Save(folder ".png"Imaging.ImageFormat.Png)
 
       Next
    End Sub

End 
Class 

مبدع بكل معني الكلمة
 جزاك اللة الف خير

لو ممكن كود اعادة تصديرهم للبرنت بريفيو  يعني يرجع ينقل الصور كلهم من الفولدر بنفس عددهم للبرنت بريفيو
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: