اذهب الي المحتوي
أوفيسنا

تعديل واضافة كود عمل ماسح ضوئي مع برنامج (IrfanView)


Ahmed_J
إذهب إلى أفضل إجابة Solved by ابوخليل,

الردود الموصى بها

السلام عليكم اساتذتي الاعزاء

من خلال بحثي المتواصل من خلال الانترنت وجدت من الصعب جدا ان تجد كود او موديول واحد يقوم بتشغيل كافة انواع الماسحات الضوئية لكثرة انواعها وموديلاتها.

اخيراً  استقر الحال على البرنامج  الوسيط (IrfanView)  وهو بستطيع التعامل مع اكثر من جهاز ماسح ضوئي سواء كان (flat) او (feeder).

قمت بتجربته والنتائج كانت جيدة واستطعت سحب صور متعددة وتحويلها الى pdf مباشرة وصورة واحدة بعدة امتدادات مثل jpg

* مرفق برنامج ارشفة الكترونية بسيط وطريقة عملة هو اختيار نوع المستند اما pdf ويظهر مستعرض الويب او IMAGE ويظهر مستعرض الصور

المطلوب: التعديل على الكود لحفظ ملف pdf او jpg في مسار بجانب قاعدة البيانات (My_Archive-Import-My_pdf) او

(My_Archive-Import-My_Pictures) واظهار الملفات في مستعرض الصور او pdf في فاعدة البيانات مع اسم ورقم الكتاب.

وشكرا لكم 

 

1.jpg

Desktop.rar

تم تعديل بواسطه Ahmed_J
  • Like 1
رابط هذا التعليق
شارك

3 ساعات مضت, Ahmed_J said:

IrfanView

البرنامج ، وهو اقتراح جميل :wub:

IrfanView 4.62 Commercial

irfanview-icon.webp&w=64&q=75

 

IrfanView 4.60

irfanview.png&w=64&q=75

بعد إذنك أستاذي @Ahmed_J بهذه إضافة :fff: ، سيتوجب على مستخدم المرفق تعديل مسار البرنامج حسب اصدار النسخة ( 64 - 32 )

للنسخة × 64 ، سيصبح الكود كالآتي

 

Shell ("C:\Program Files\IrfanView\i_view64.exe /batchscan=(ahmed,1,1,2,0,c:\temp,JPG,1) /scanhidden")

 

للنسخة × 32 ، سيصبح الكود كالآتي

Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(ahmed,1,1,2,0,c:\temp,pdf,1) /scanhidden")

 

تم تعديل بواسطه Foksh
  • Like 1
رابط هذا التعليق
شارك

10 ساعات مضت, Foksh said:

سيتوجب على مستخدم المرفق تعديل مسار البرنامج حسب اصدار النسخة ( 64 - 32 )

للنسخة × 64

مشاركتي حول هذه النقطة 🙂 :

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

شرح الكود:
تعمل عن طريق إحضار مسار البرنامج المسجل في الريجيستري

الكود:

Sub OpenApp(AppName As String)
On Error GoTo Error_Handler

Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
Shell WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\" & AppName & "\"), vbMaximizedFocus
Set WSHShell = Nothing

'Examples:
'MS Excel
'>>>  OpenApp("excel.exe")
'Groove
'>>>  OpenApp("GROOVE.EXE")
'Internet Explore
'>>>  OpenApp("IEXPLORE.EXE")
'Info Path
'>>>  OpenApp("infopath.exe")
'MS Access
'>>>  OpenApp("MSACCESS.EXE")
'MS One Note
'>>>  OpenApp("OneNote.exe")
'MS Outlook
'>>>  OpenApp("OUTLOOK.EXE")
'PowerPoint
'>>>  OpenApp("powerpnt.exe")
'MS Word
'>>>  OpenApp("Winword.exe")
'WordPad
'>>>  OpenApp("WORDPAD.EXE")
'Write
'>>>  OpenApp("WRITE.EXE")

Error_Handler_Exit:
    On Error Resume Next
     Exit Sub

Error_Handler:
   If Err.Number = 0 Then Resume Next
    MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
           "Error Number: " & Err.Number & vbCrLf & _
           "Error Source: OpenApp" & vbCrLf & _
           "Error Description: " & Err.Description & _
           Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
           , vbOKOnly + vbCritical, "An Error has Occurred!"

    Resume Error_Handler_Exit
End Sub

 

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

لا يوجد في جهازي (ارفان فيو) فقمت بتحميله

لا يوجد في جهازي اكروبات لذا حذفت مكتبته من المكتبات .. عليك ملاحظة ذلك

بحثت وحاولت احقق الفكرة ونجحت في الصور  .. ولكنه لم يتعرف على ملف pdf

ايضا الكود يقوم بتحويل صيغ الملفات .. كل ما عليك عمله هو تغيير صيغة الملف الوجهة

لا اعلم لماذا لم يتعرف على ملف pdf .. قد يكون لمكتبة acrobat دخل في ذلك .. لا اعلم

او ان لـــــ (ارفان فيو) اعدادات خاصة

المصدر

test2.rar

  • Like 2
رابط هذا التعليق
شارك

السلام عليكم

استاذي العزيز @ابوخليل  الله يبارك فيك 

شكرا كثيرا 

استاذي العزيز  المشكلة عندي ليست بتحويل الصورة الى pdf ؟

ملاحظة : هذا الكود شغال 100% حيث يقوم بتحويل الصورة من الماسح الضوئي الى pdf  مباشرة ويحفظها في المسار C:\temp 

بأسم Ahmed01.pdf كما في الصور 1و2 .

Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(ahmed,1,1,2,0,c:\temp,pdf,1) /scanhidden")

علما بانني قمت بتثبيت برنامج (.IrfanView.exe) والاضافة (view462_plugins.exe) الذي سبب المشكلة في عدم التعرف على pdf لديك استاذي العزيز: قم بتحميل الاضافة (view462_plugins.exe) ويعمل لديك ان شاء الله

المطلوب : اريد عن تشغيل الماسح الضوئي يحفظ  ملف pdf في المسار (My_Archive-Import-My_pdf) واظهار pdf  في النموذج. كما في الصورة 3.

وشكرا 

1.jpg

2.jpg

 

3.jpg

تم تعديل بواسطه Ahmed_J
رابط هذا التعليق
شارك

جلست على المثال فترات طويلة 

المشكلة التي واجهتها انه لا يتم الاتصال بالماسح من خلال الكود .. رغم ان يتصل من خلال البرنامج  i_view64.exe  

على كل حال بالنسبة للحفظ هل جربت مثل هذا :

Dim mypath
 mypath = CurrentProject.Path & "\My_Archive\Import\My_pdf\"
 Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(ahmed,1,1,2,0,mypath,pdf,1) /scanhidden")

اعتذر اخي كنت تمنيت ان الكود عمل

يبدوا ان النظام له يد في ذلك

  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم

استاذ @ابوخليل مافصرت وتعبتك كتير

الله يبارك فيك استاذي العزيز

كود الحفظ لم يعمل

شكرا لك استاذ

اتمنى المساعدة من الاساتذه الاخرين

up

 

تم تعديل بواسطه Ahmed_J
رابط هذا التعليق
شارك

من خلال البحث وجدت هذا الكود ، ولم أقم بتجربته لعدم وجود ماسح ضوئي عندي.

Private Sub ScanAndSaveAsPDF_Click()
    Dim WIA_Devices As Object
    Set WIA_Devices = CreateObject("WIA.DeviceManager")

    If WIA_Devices.DeviceInfos.Count > 0 Then
        Dim WIA_Device As Object
        Set WIA_Device = WIA_Devices.DeviceInfos(1).Connect

        Dim WIA_ImageFile As Object
        Set WIA_ImageFile = WIA_Device.Items(1).Transfer

        Dim filePath As String
        filePath = "C:\Path\To\Save\ScannedDocument.pdf"
        WIA_ImageFile.SaveFile filePath

        ' إجراءات إضافية إذا كنت بحاجة، مثل فتح ملف PDF أو حفظ معلوماته في قاعدة البيانات
    Else
        MsgBox "لم يتم العثور على جهاز ماسح ضوئي."
    End If
End Sub

 

  • Like 1
رابط هذا التعليق
شارك

10 دقائق مضت, Ahmed_J said:

استاذ @Foksh

شكرا لك

لكن الملف عند التحويل معطوب لايعمل

 

 

1.jpg

التجربة الثانية ولن نخسر شيء 😅

 

Private Sub CommandButton_Click()
    Dim scanner As WIA.CommonDialog
    Dim img As WIA.ImageFile
    Dim pdf As Object

    ' إنشاء مربع حوار الماسح الضوئي
    Set scanner = New WIA.CommonDialog
    Set img = scanner.ShowAcquireImage()

    ' تصدير الصورة إلى ملف PDF باستخدام مكتبة Adobe PDF
    Set pdf = CreateObject("AcroExch.PDDoc")
    pdf.Create
    pdf.AddPage
    pdf.Save ("C:\مسح.pdf")

    ' إغلاق المسح الضوئي
    Set scanner = Nothing
End Sub

 

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم

بالعكس ان مستمتع معك استاذي العزيز

شكرا لك

لكن يظهر خطا

اعتقد يريد مكتبة

حملت اكثر من واحدة لكن للاسف

 

 

2.jpg

14 دقائق مضت, Foksh said:
' تصدير الصورة إلى ملف PDF باستخدام مكتبة Adobe PDF
    Set pdf = CreateObject("AcroExch.PDDoc")

 

رابط هذا التعليق
شارك

9 دقائق مضت, Ahmed_J said:

اعتقد يريد مكتبة

سأتحقق من موضوع المكتبة واتابع معك

كاضافه مني جرب هذا الملف المرفق واتمنى ايجاد الغايه فيه ولو حتى بجزء بسيط.

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

08 MS access - scan and attach documents -Scand and convert to PDF.accdb

تم تعديل بواسطه Foksh
  • Like 1
رابط هذا التعليق
شارك

في 20‏/10‏/2023 at 00:36, ابوخليل said:

جلست على المثال فترات طويلة 

المشكلة التي واجهتها انه لا يتم الاتصال بالماسح من خلال الكود .. رغم ان يتصل من خلال البرنامج  i_view64.exe  

اعتذر اخي كنت تمنيت ان الكود عمل

يبدوا ان النظام له يد في ذلك

اخي احمد

صحيح النظام له يد

قمت بازالة البرنامج الوسيط 64 ونصبت نظام 32 .. وعمل القبيح :angry: على اكمل وجه

وبما اني لا ملك في جهازي اكروبات جعلت عملي على الصور .. واكيد ما ينطبق على الصور سينطبق على pdf

وابشرك نجحت في اختيار مكان الحفظ

Dim mypath As String
mypath = Application.CurrentProject.Path & "\My_Archive\Import\My_Pictures\"
Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(Ahmed,,,,," & mypath & " ,jpg,0) /scanhidden")

جرب الصور ..  ثم افحص الـــــ pdf

هذه هي الخطوة الأولى

الخطوة الثانية وهي اظهار الملف على النموذج اذا لم تتمكن من اظهار pdf .. فلكي اعينك يتوجب علي تركيب اكروبات

  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم

استاذ @ابوخليل

الله يبارك فيك ويجعلها في ميزان حسناتك

1- تم تجربة الصور وكل شيء تمام  وفي المسار المحدد للصور

Dim mypath As String
mypath = Application.CurrentProject.Path & "\My_Archive\Import\My_Pictures\"
Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(Ahmed,,,,," & mypath & " ,jpg,0) /scanhidden")

2- تم تجربة pdf وكل شيء تمام  وفي المسار المحدد للpdf

Dim mypath As String
mypath = Application.CurrentProject.Path & "\My_Archive\Import\My_pdf\"
Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(Ahmed,,,,," & mypath & " ,pdf,0) /scanhidden")

3- تم تثبيت (IrfanView) 32 bit  وتثبيت iview462_plugins 

4- تم ضبط اعدادات IrfanView  كما في الصور  1 , 2  ولتقليل حجم ملف pdf لانه في الاعدادات الافتراضية يكون حجمه اكثر من (20 MB)

5-  الخطوة الاخيرة ان شاء الله التي لم تكتمل (اظهار ملف PDF في النموذج) 

ملاحظة 1 : عند اغلاق النموذج وفتحه مرة اخرى  او عند الانتقال للصفحة الاخير والعودة للصفحة الحالية يظهر الملف في النموذج

                  وفي المسار المحدد

ملاحظة 2: اذا بقي اسم الملف (Ahmed.pdf) كما هو فانه سيتم المسح الضوئي فوق الملف السابق في كل مرة  وكذلك فتح نفس الملف

                في كل صفحات الاكسس  اذ يمكن اضافة عليه مثلا رقم الكتاب في الحقل  (A)لكي يصبح لكل ملف اسم مختلف عن الاخر

وشكرا لك استاذي العزيز

1.jpg

2.jpg

Desktop.rar

تم تعديل بواسطه Ahmed_J
رابط هذا التعليق
شارك

بالنسبة للملاحظة الثانية 

استبدل السطر بهذا وسوف يتم ترقيم الصور

Shell ("c:\Program Files (x86)\irfanview\i_view32.exe /batchscan=(Ahmed,1,1,2,1," & mypath & " ,jpg,1) /scanhidden")

اما الملاحظة الاولى او الخطوة الاخيرة فكما ذكرت لك لا املك اكروبات في جهازي

  • Thanks 1
رابط هذا التعليق
شارك

استاذ @ابوخليل

انا عاجز عن شكرك

الله يبارك فيك

ان شاء الله في ميزان حسناتك

بانتظار الخطوة الاخيرة ان شاء الله التي لم تكتمل (اظهار ملف PDF في النموذج) 

تم تعديل بواسطه Ahmed_J
رابط هذا التعليق
شارك

اخيرا تمكنت من سحب ملفات pdf من دون برنامج اكروبات

الآن ومن اجل اظهار الملفات :

كيف تريد صفة العرض ؟

1- هل لكل ملف سجل خاص ؟

2- ماهو معرف الصورة في السجل ؟ هل هو رقم الكتاب ؟

3- اذا جميع الملفات التي يتم سحبها دفعة واحدة تخص سجل واحد (رقم الكتاب ) فهذا يستلزم وجود جدول فرعي يرتبط بمعرف الصورة في الرئيسي

راجع استفساراتي وبناء عليها ارفع مرفقا معدلا

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم

استاذي العزيز @ابوخليل

الملف هو برنامج بسيط لارشفة الكتب الرسمية

- اذا كان الكتاب صفحة واحدة اقوم بالمسح على شكل صورة jpg  وهو موضوع انتهيت منه والحمد لله

- اذا كان الكتاب معه مرفقات  عديدة اقوم بمسحها على شكل pdf  (المشكلة فقط بعدم ظهور الملف في النموذج) عند وضعة بالمسار المحدد

1- نعم لكل ملف  pdf سجل خاص به وصفحة بيانات بالنموذج

2- معرف الصورة هو  (رقم الكتاب)

3- لااعتقد اني احتاج لجدول فرعي

مثال مرفق

تحياتي

Desktop.rar

تم تعديل بواسطه Ahmed_J
رابط هذا التعليق
شارك

من اجلك ومن اجل الفائدة العلمية ركبت برنامج اكروبات ريدر

والسبب انه عند بحثي عن حلول وجدت ان سبب عدم ظهور الملف موجود في خصائص المتصفح اكسبلورر

لذا وضعت لك في رأس المحرر رابط يشرح طريقة تفعيل الريدر داخل اكسبلورر

اليك المثال بعد نجاح عملية العرض

test6.rar

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information