Accueil > > > SCANNER UN DOCUMENT ET L'ENREGISTRER EN JPEG AVEC TWAIN
SCANNER UN DOCUMENT ET L'ENREGISTRER EN JPEG AVEC TWAIN
Information sur la source
Description
Ce petit bout de code va permettre de scanner un document et de l'enregistrer en JPEG en ne demandant à l'utilisateur aucun paramètres. Ces paramètres seront prédéfinis par le développeur.
Source
- Declare Function TWAIN_AcquireToClipboard Lib "EZTW32.DLL" (ByVal hwndApp&, ByVal wPixTypes&) As Integer
- Declare Function TWAIN_SetHideUI Lib "Eztw32.dll" Alias "TWAIN_SetHideUI" (ByVal ui As Long) As Long
- Declare Function TWAIN_OpenDefaultSource Lib "Eztw32.DLL" Alias "TWAIN_OpenDefaultSource" (ByVal hwnd As Long) As Integer
- Declare Function TWAIN_SetCurrentResolution Lib "Eztw32.dll" Alias "TWAIN_SetCurrentResolution" (ByVal neufdix As Double) As Long
- Declare Function TWAIN_SetCurrentPixelType Lib "Eztw32.dll" Alias "TWAIN_SetCurrentPixelType" (ByVal deux As Long) As Long
- Declare Function TWAIN_LoadSourceManager Lib "Eztw32.dll" Alias "TWAIN_LoadSourceManager" () As Long
- Declare Function TWAIN_SetCurrentUnits Lib "Eztw32.dll" Alias "TWAIN_SetCurrentUnits" (ByVal zero As Long) As Long
- Declare Function TWAIN_SetBitDepth Lib "Eztw32.dll" Alias "TWAIN_SetBitDepth" (ByVal zero As Long) As Long
- Declare Function TWAIN_OpenSourceManager Lib "EZTW32.DLL" Alias "TWAIN_OpenSourceManager" (ByVal hwnd As Long) As Long
- Declare Function TWAIN_CloseSource Lib "EZTW32.DLL" Alias "TWAIN_CloseSource" () As Long
- Declare Function TWAIN_SelectImageSource Lib "EZTW32.DLL" Alias "TWAIN_SelectImageSource" (ByVal hwnd As Long) As Integer
- Declare Function TWAIN_State Lib "EZTW32.DLL" Alias "TWAIN_State" () As Integer
-
-
- FONCTION
-
- Dim iRetour As Long
- Dim s_cheminsauv As String
- Dim i As Integer
-
- Try
-
- TWAIN_CloseSource()
- TWAIN_LoadSourceManager()
- TWAIN_OpenSourceManager(frm.Handle.ToInt32)
- iRetour = TWAIN_OpenDefaultSource(frm.Handle.ToInt32)
- If iRetour = 0 Then
- iRetour = TWAIN_SelectImageSource(frm.Handle.ToInt32)
- If iRetour = 1 Then
- iRetour = TWAIN_OpenDefaultSource(frm.Handle.ToInt32)
- End If
- End If
-
- If iRetour = 0 Then
- Exit Function
- End If
-
- If TWAIN_State() < 4 Then
- MsgBox("Impossible de paramêtrer le scanner")
- Exit Function
- Else
- 'parametres du scanner
- TWAIN_SetCurrentUnits(0) 'DPI
- TWAIN_SetCurrentResolution(150) 'en points par pouces
- TWAIN_SetCurrentPixelType(2) ' Scan format 0 = B&W, 1 Grey, 2 RGB
- TWAIN_SetBitDepth(8) ' Bit Depth 1, 2, 4, 8 but depends on Pixeltype
-
- TWAIN_SetHideUI(True)
- End If
-
-
-
- 'scan du document
- iRetour = TWAIN_AcquireToClipboard(frm.Handle.ToInt32, 32)
-
- If iRetour = 0 Then
- MsgBox("Le scan du document a échoué.", MsgBoxStyle.Critical, "Scanner")
- Exit Function
- End If
-
- TWAIN_CloseSource()
- Catch ex As Exception
- Exit Function
- End Try
-
- Try
-
- pbImage.Image = System.Windows.Forms.Clipboard.GetDataObject.GetData(System.Windows.Forms.DataFormats.Bitmap) 'on la met dans une picture box
-
- s_cheminsauv = "c:\toto.jpg"
-
- i = 1
- If System.IO.File.Exists(s_cheminsauv) = True Then
- s_cheminsauv = Left(s_cheminsauv, s_cheminsauv.Length - 4)
- While System.IO.File.Exists(s_cheminsauv & i & ".jpg") = True
- i = i + 1
- End While
- s_cheminsauv &= " "
- s_cheminsauv &= i
- s_cheminsauv &= ".jpg"
- End If
-
- pbImage.Image.Save(s_cheminsauv, System.Drawing.Imaging.ImageFormat.Jpeg)
-
- Catch ex As Exception
- MsgBox("Le document a bien été scanné," & Chr(13) & "mais une erreur s'est produite lors de la sauvegarde dans le dossier du candidat.", MsgBoxStyle.Critical, "Scanner")
- End Try
-
- FIN DE LA FONCTION
Declare Function TWAIN_AcquireToClipboard Lib "EZTW32.DLL" (ByVal hwndApp&, ByVal wPixTypes&) As Integer
Declare Function TWAIN_SetHideUI Lib "Eztw32.dll" Alias "TWAIN_SetHideUI" (ByVal ui As Long) As Long
Declare Function TWAIN_OpenDefaultSource Lib "Eztw32.DLL" Alias "TWAIN_OpenDefaultSource" (ByVal hwnd As Long) As Integer
Declare Function TWAIN_SetCurrentResolution Lib "Eztw32.dll" Alias "TWAIN_SetCurrentResolution" (ByVal neufdix As Double) As Long
Declare Function TWAIN_SetCurrentPixelType Lib "Eztw32.dll" Alias "TWAIN_SetCurrentPixelType" (ByVal deux As Long) As Long
Declare Function TWAIN_LoadSourceManager Lib "Eztw32.dll" Alias "TWAIN_LoadSourceManager" () As Long
Declare Function TWAIN_SetCurrentUnits Lib "Eztw32.dll" Alias "TWAIN_SetCurrentUnits" (ByVal zero As Long) As Long
Declare Function TWAIN_SetBitDepth Lib "Eztw32.dll" Alias "TWAIN_SetBitDepth" (ByVal zero As Long) As Long
Declare Function TWAIN_OpenSourceManager Lib "EZTW32.DLL" Alias "TWAIN_OpenSourceManager" (ByVal hwnd As Long) As Long
Declare Function TWAIN_CloseSource Lib "EZTW32.DLL" Alias "TWAIN_CloseSource" () As Long
Declare Function TWAIN_SelectImageSource Lib "EZTW32.DLL" Alias "TWAIN_SelectImageSource" (ByVal hwnd As Long) As Integer
Declare Function TWAIN_State Lib "EZTW32.DLL" Alias "TWAIN_State" () As Integer
FONCTION
Dim iRetour As Long
Dim s_cheminsauv As String
Dim i As Integer
Try
TWAIN_CloseSource()
TWAIN_LoadSourceManager()
TWAIN_OpenSourceManager(frm.Handle.ToInt32)
iRetour = TWAIN_OpenDefaultSource(frm.Handle.ToInt32)
If iRetour = 0 Then
iRetour = TWAIN_SelectImageSource(frm.Handle.ToInt32)
If iRetour = 1 Then
iRetour = TWAIN_OpenDefaultSource(frm.Handle.ToInt32)
End If
End If
If iRetour = 0 Then
Exit Function
End If
If TWAIN_State() < 4 Then
MsgBox("Impossible de paramêtrer le scanner")
Exit Function
Else
'parametres du scanner
TWAIN_SetCurrentUnits(0) 'DPI
TWAIN_SetCurrentResolution(150) 'en points par pouces
TWAIN_SetCurrentPixelType(2) ' Scan format 0 = B&W, 1 Grey, 2 RGB
TWAIN_SetBitDepth(8) ' Bit Depth 1, 2, 4, 8 but depends on Pixeltype
TWAIN_SetHideUI(True)
End If
'scan du document
iRetour = TWAIN_AcquireToClipboard(frm.Handle.ToInt32, 32)
If iRetour = 0 Then
MsgBox("Le scan du document a échoué.", MsgBoxStyle.Critical, "Scanner")
Exit Function
End If
TWAIN_CloseSource()
Catch ex As Exception
Exit Function
End Try
Try
pbImage.Image = System.Windows.Forms.Clipboard.GetDataObject.GetData(System.Windows.Forms.DataFormats.Bitmap) 'on la met dans une picture box
s_cheminsauv = "c:\toto.jpg"
i = 1
If System.IO.File.Exists(s_cheminsauv) = True Then
s_cheminsauv = Left(s_cheminsauv, s_cheminsauv.Length - 4)
While System.IO.File.Exists(s_cheminsauv & i & ".jpg") = True
i = i + 1
End While
s_cheminsauv &= " "
s_cheminsauv &= i
s_cheminsauv &= ".jpg"
End If
pbImage.Image.Save(s_cheminsauv, System.Drawing.Imaging.ImageFormat.Jpeg)
Catch ex As Exception
MsgBox("Le document a bien été scanné," & Chr(13) & "mais une erreur s'est produite lors de la sauvegarde dans le dossier du candidat.", MsgBoxStyle.Critical, "Scanner")
End Try
FIN DE LA FONCTION
Historique
- 01 mars 2006 12:28:23 :
- ajout de gestion de code retour et chemin d'accès
- 21 mars 2006 16:27:49 :
- Les codes retour étaient en Long au lieu de Integer, ils n'étaient pas ce qui étaient attendu. Maintenant, ils ressortent les bonnes valeurs, notament la détection des scanners.
- 24 janvier 2007 10:05:41 :
- Suppression d'une ligne inutile
- 12 novembre 2008 16:21:15 :
- gr
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Piloter appareil photo par twain ? [ par Chrysostome ]
Salut à tous !Est-ce qu'il serait possible de remplacer un scanner par un appareil photo en mode macro ( gain de vitesse ), afin de faire du jpeg? J'a
Problèmes pour piloter Internet Explorer [ par GigiPaprika ]
Bonjour,J'utilise un objet COM pour piloter Internet explorer en VB6Je voudrai mettre une valeur dans une zone de texte mais en spécifiant l
comment appeler le prog TWAIN pour scanner ? [ par lechti62 ]
Je voudrais pouvoir integrer une possibilité de scanner dans mon programme. Il me faut donc appeler le prog TWAIN, et ensuite l'image scannée serait
piloter un module de conversion de document .doc en .pdf [ par Thrakkazz2000 ]
Je recherche un moyen de convertir des documents Word en .doc en document .pdf.Comment faire en utilisant une appli VB et non pas un service on line ?
Comment piloter un scanner en asp (vbscript ou javascript coté client) ? [ par kayser77 ]
bonjour,je réalise un intranet en asp.J'ai besoin de scanner des documents.Or je ne sais pas comment faire, pour piloter le scanner automatiquement pa
saisie automatique via le scanner [ par Zigzig ]
salut tous :) quand on scanne un document avec Twain depuis VB, est-il possible de traiter l'image reçue pour extraire le texte dudit document ? c'est
scanner avec la librairie twain [ par filou26 ]
bonjour je crée une appli qui scanne et archive rien de neufcependant en vb 2005 J'ai lu une seule source et elle marche pasj'y suis presque mais j'ai
Scanner des doc avec un scan compatible Twain [ par yves29 ]
Bonjour à tous, Je cherche une méthode pour scanner des doc via un contrôle compatible Twain. Ca fait plusieurs jours que je cherche et tout est payan
piloter un swf depuis un document word en vba [ par actaruss ]
Bonjour à tous,Voilà j'ai reçu un document word qui dès l'ouverture lance une naimation flash.Je souhaite faire de même, mais mon animation ne se lanc
ACTIVER UN SCANNER [ par SMARTCLIP ]
BONJOUR A TOUS,JE SUIS DEBUTANT DANS LA PROGRAMMATION EN VB ET JE SOUHAITERAI CREER UN PROGRAMME QUI SCANNE UN DOCUMENT PUIS LE FAX,LE TOUT VIA UNE IN
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VB6 + GRAPHVIZVB6 + GRAPHVIZ par nouirayosra
Cliquez pour lire la suite par nouirayosra
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|