Bonjour, J'ai trouvé ses bouts de codes sur différents forums traitant de windev et L'OCR. Cela fonctionne mais demande un peu d'amélioration. Télécharger le puma.net : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Procédez à l'installation de Puma.NET (pour windows 64bits installer PumaNET(x86).msi) Répertoire C:\Program Files (x86)\Puma.NET et mettre les droits pour un control total des utilisateurs Dans un nouveau projet dans windev Copier C:\Program Files (x86)\Puma.NET\Assemblies\dibapi.dll dans le répertoire [exe] du projet - ajouter au projet les 2 assemblages puma.interop et Puma.net (répertoire C:\Program Files (x86)\Puma.NET\Assemblies) - créer une fenêtre avec un objet image invisible ( ou pas ) et ayant comme nom IMG_pdf - créer un bouton avec le code clic suivant: sCheminFichier est une chaîne UNICODE = fSélecteurImage("", "", "Sélectionnez une image...") Trace(ConvPdf(sCheminFichier)) - Ajouter les 2 procédures locales à la fenêtre: Code (Text): PROCEDURE ConvPdf(ficPDF) InfoImage est une chaîne res est une chaîne Fictmp est une chaîne=fFichierTemp("IMG") x est entier=PDFNombreDePages(ficPDF) i est un entier InfoImage = InfoBitmap(ficPDF) IMG_pdf..Largeur=Val(ExtraitChaîne(InfoImage,2,TAB)) IMG_pdf..Hauteur=Val(ExtraitChaîne(InfoImage,3,TAB)) IMG_pdf=ficPDF POUR i=1 A x IMG_pdf..NuméroPage=i dSauveImageJPEG(IMG_pdf,Fictmp) SI i=1 ALORS res = OCRFic(Fictmp) SINON res = res+"------------------------------------------------------------------"+RC+OCRFic(Fictmp) FIN fSupprime(Fictmp) FIN RENVOYER res La deuxième : Code (Text): PROCEDURE OCRFic(sCheminFichier) res est une chaîne SI PAS fFichierExiste(sCheminFichier) ALORS RENVOYER "" MonPuma est un PumaPage () MonPuma.FileFormat = PumaFileFormat.TxtAscii MonPuma.Language=PumaLanguage.French MonPuma.LoadImage(sCheminFichier) QUAND EXCEPTION DANS res =MonPuma.RecognizeToString() FAIRE Erreur("Erreur OCR") FIN MonPuma.Dispose() RENVOYER res
Bonjour sgug73, oui c'est fort possible. Comme je le dit en début de post, je n'ai pas écrit le code moi même.
Bonjour , j'ai tester mais ca pas marcher du tout Renvoi vide Si quelqu'un a réussi , please dit nous comment Merci ))
Bonjour raheek_makhtoom, Il faut faire, à lettre, tout ce qu'il y a marquer ci-dessus . Pour PumaNET(x86).msi, il faut utiliser cette version: Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Ou cas ou il existe aussi une fonction dans windev beaucoup plus simple mais moins complète : PDFVersTexte() Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Bonjour , j'ai tout essayer mais retourn toujours vide je vous demande plus e détails svp Cordialement
a l'ouverture de projet , m'affiche cet erreur windev 20 66p sous windows 7 64 bit ********************************************** Erreur lors de l'importation de l'assemblage <dibapi.dll>. Vérifiez que le fichier importé est bien un assemblage .NET. Vérifiez que la version du framework .NET installé est au moins égale à la version du framework .NET utilisé pour compiler cet assemblage. Si l'assemblage référence d'autres assemblages, vérifiez qu'ils sont présents dans le même répertoire ou dans le GAC (répertoire <Windows>\assembly). Echec de l'ouverture des metadata de l'assemblage <C:\Program Files (x86)\Puma.NET\Assemblies\dibapi.dll>. Erreur -2147024885 ********************************************** Informations techniques Que s'est-il passé ? Erreur lors de l'importation de l'assemblage <dibapi.dll>. Vérifiez que le fichier importé est bien un assemblage .NET. Vérifiez que la version du framework .NET installé est au moins égale à la version du framework .NET utilisé pour compiler cet assemblage. Si l'assemblage référence d'autres assemblages, vérifiez qu'ils sont présents dans le même répertoire ou dans le GAC (répertoire <Windows>\assembly). Echec de l'ouverture des metadata de l'assemblage <C:\Program Files (x86)\Puma.NET\Assemblies\dibapi.dll>. Erreur -2147024885 Code erreur : 3696001 Niveau : erreur fatale (EL_FATAL) Dump de l'erreur du module 'WDBRW.DLL' (20.0.248.. Identifiant des informations détaillées (.err) : 3696001
Bonjour raheek_makhtoom, ton erreur vient du fait que tu as ajouté dibapi.dll en tant qu' assemblage .net et il ne faut pas. Tu dois seulement ajouter les 2 assemblages suivant à ton projet: puma.interop et Puma.net. Puis tu dois copier "à la mano" C:\Program Files (x86)\Puma.NET\Assemblies\dibapi.dll dans le répertoire [exe] du projet Je viens de tester en windev 20 et tout fonctionne (ci-joint le projet en windev 20) A+