IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Ligne de commande exploiter fichiers océrisé


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut Ligne de commande exploiter fichiers océrisé
    Bonjour tout le monde,

    Voici mon problème :

    Je dois récupérer un champ sur des fichiers TIFF.
    Pour faire simple j'ai un lot de fichiers, je souhaiterai par un batch faire un OCR sur chaque fichier pour extraire le numéro de référence présent sur la page de garde de chaque fichier Tiff (mutlti page). puis l'insérer dans un fichier .txt ou .xml par exemple

    La page de garde est composée :
    DOSSIER
    AAA001 (la référence à récupérer)
    Le reste n'est pas utile dans ce cas là.

    Grace à Microsoft Office Document Imaging j'arrive par une ligne de commande à océriser le fichier.

    Maintenant je souhaiterai par une nouvelle ligne de commande exploiter ce fichier.

    J'arrive à récupérer le champ DOSSIER (Find "DOSSIER" "monfichier.tif"), donc l'OCR a bien fonctionné.

    Est que quelqu'un à une idée pour récupérer ma réference (une boucle FOR par exemple ?)


    Merci d'avance

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    A priori, il te faudrait utiliser un FIND pour trouver le bon numéro de ligne dans le fichier, puis utiliser un "for" avec un skip adéquat.

    Tu auras quelques exemples sur ce topic par exemple, ça t'aidera à voir à peu près ce qu'il te faut (et ce qu'il te manque).

    N'hésites pas à reposter si jamais c'est pas clair pour toi.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Bonjour et merci pour ta réactivité.

    Donc je dois récupérer le numéro de ligne par la commande : FIND /n "DOSSIER" "monfichier.tif"
    Il me renvoie [28]DOSSIER

    Il me faut donc récupérer cette variable et commencer ma boucle FOR par rapport à elle?

    for /f "delims=:" %a in ('monfichier.tif') do "j'écris le résultat dans le fichier .txt

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Plutôt un truc dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    setlocal
    for /f "tokens=1* delims=: " %%I in ('findstr /n "DOSSIER" monfichier.tif') do (
    	REM %%I contient le numéro de ligne.
    	set ARGS="tokens=1 skip=%%I"
    	REM On récupère le numéro de dossier.
    	for /f %ARGS% %%E in (monfichier.tif) do (
    		echo %%E > NUM_DOSSIER.TXT
    		REM Pas besoin de continuer, on casse les deux boucles.
    		goto :breakloop
    	)
    :breakloop
    REM Le fichier NUM_DOSSIER.TXT devrait contenir ce qu'il faut.
    Il vaut mieux utiliser "findstr" aussi, plus simple à séparer par "for" que la commande "find".
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Merci pour ce code...

    Je l'ai donc testé dans un .BAT et il ne fait rien je n'ai rien d'affiché...

    J'ai même mis en echo juste après l'ouverture de la boucle et il ne renvoie rien du tout...

    J'ai testé la boucle for directement avec un echo %I et il me renvoie bien la bonne ligne ...

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Il reste peut-être trop de données binaires pour un traitement de cette manière...

    Peux-tu, si ce n'est pas confidentiel, mettre en attache sur le sujet le fichier TIFF en question ?

    Ou un "vrai-faux" fichier TIFF (après OCR bien sûr) ne contenant aucune donnée sensible ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/10/2014, 01h13
  2. [XL-2003] Ligne de commande sélection fichiers ouverts avec nom aléatoire
    Par zadio dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/02/2010, 16h05
  3. Réponses: 4
    Dernier message: 14/08/2009, 12h22
  4. Réponses: 3
    Dernier message: 16/12/2005, 15h30
  5. Imprimer fichiers images en ligne de commande
    Par naholyr dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 02/09/2004, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo