Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt4] comment récupérer des données à partir d'un scann?

Bonjour,
je souhaite réaliser une petite appli pour envoyer des doc scanner directement par mail. Je m'explique : dans l'application je n'aurais qu'à cliquer sur un bouton et ca lancera le scann puis le doc scanné sera récupéré et mis directement dans un mail en pièce jointe à partir d'Outlook.

Première question : comment faire pour déclencher le scann puis en récupérer le ficher scanné ?
Deuxième question : pourrais je changer le format de mon doc (ex : gif -> jeg ; ou encore intégrer mon doc scanner dans un pdf multi page)
Troisième question : comment appler un nouveau courrier outlook et integrer mon doc en piece jointe ??

Je sais c'est un peu le bazar mai bon !!
Vous pouvez répondre à une question sans répondre aux autre y'a pas de souci !!

Merci d'avance !!

Réponses

  • Salut,

    1. le premier truc qui me vient à l'esprit, c'est TWAIN, après, je ne sais pas comment faire pour énumérer les scanners...
    2. En matant les specs TWAIN (connaître le format d'image renvoyé, et développer un codec sous Qt), et les specs des formats visés (dont certains sont couvert par Qt)
    3. Pour Outlook, faut utiliser les interfaces COM me semble-t-il. J'ai un exemple dans un magazine chez moi, je te posterai l'essentiel si je peux remettre la main dessus :)
  • Ok Ok mais ca marche comment TWAIN ?? C koi ?? comment l'utiliser avec QT ??

    Et COM c koi ca aussi ??
    je suis larger la !!!
  • October 2006 modifié
    Déjà, on va remettre les questions dans l'ordre :D
    p2006 said:
    C koi ??
    FAQ du site donné plus haut:
    Answer: An image capture API for Microsoft Windows and Apple Macintosh operating systems. The standard was first released in 1992, and is currently ratified at version 1.9 as of January 2000. TWAIN is typically used as an interface between image processing software and a scanner or digital camera.
    Pour les autres unixoides, je sais pas malheureusement :(
    p2006 said:
    Ok Ok mais ca marche comment TWAIN ??
    J'en sais rien, mais y'a l'air d'y avoir à peu près tout dans la page download:
    * specs (utilise l'actuelle, pas la proposition...)
    * sdk
    * et d'autres papiers qui pourrait répondre/compléter la doc
    p2006 said:
    comment l'utiliser avec QT ??
    Ben, comme une lib tierce normale. Tu inclus ses .h et les libs, tu y ajoutes les path correspondant au fichier projet, et tu t'armes d'un peu de courage ;)
    p2006 said:
    Et COM c koi ca aussi ??
    Après vérification, c'est pas COM, c'est Automation (qui dérive de COM). C'est une technologie Microsoft qui permet d'automatiser les comportements d'un programme offrant cette interface. COM signifie Component Object Model et est basé sur l'abstraction à tout va.
    Un petit peu de lecture ne te fera pas de mal, bien que ce soit en VB...

    Y'a une raison pour laquelle tu veux absolument passer par outlook? Sinon, tu peux chercher une lib/implémenter tout ou partie de SMTP dans une classe dérivant de QTcpSocket.

    Le plus facile des 2 et le plus portable? La seconde solution, sans conteste. Et pour la première, je n'ai pas la moindre idée de comment l'interfacer avec des makefile (il me semble avoir vu passer des macros #import pour ça, mais j'y mettrais pas la main à couper :/ )

    PS: peux-tu éviter le langage sms stp?


    Edit:
    Tiens, je viens de mettre la main sur ça pour Qt3 / Windows / Twain: Qt twain interface. Par contre:
    Unfortunately the classes don't replace the standard scanner dialog. If anyone should be willed to do this, i.e. to implement a custom data source (or already did this on an open source basis) please let me know!
    et c'est ce que tu veux faire... Donc ça peut t'aider mais en aucun cas faire tout à ta place.

    Et pour les unixoides, c'est Sane qui va t'intéresser. A l'heure du post, le site est down par contre :(
  • October 2006 modifié
    Ok ; ATTENTION : petite précision : mon appli finale tournera sur WIndows!! désolé au linuxiens mais c'est une appli qui tournera dans une entreprise equipée Windows alors je n'ai pas le choix !!

    IrmatDen : pourrais tu expliquer plus clairement ?! Je suis novice en programmation (deux ans de pratique en BTS ) et QT4 je connais à peut près (j'ai développer mon projet avec QT4 pendant 6 mois donc ca va !!) ; par contre tout ce qui technologie COM ou Sane ou Twain je suis un peu larger !!

    Quelqu'un est il capable de me donner des explications quand a l'utilisation de périphériques ??

    Et pour Automation c'est pareil je suis assez larger !!

    Pour résumer je ne suis pas contre un peu d'aide ( même pour la programmation ) et je veux bien donner mon adresse MSN pour pouvoir mieux expliquer mon projet !!

    PS : "Un petit peu de lecture ne te fera pas de mal, bien que ce soit en VB..." : je n'arrive pas à ouvrir ton DOC ( un prob de conversion graphique ou je sais pas trop quoi ??)
  • Qt c'est fait pour faire des IHM, multiplateforme.

    Dans ton projet, le coeur est le moteur de scan.

    Tu dis fais de la prog depuis plusieurs années sous W$, tu ne connais pas COM, fondement M$ de l'integration des bibli sous W$, tu ne connais pas automation ni OLE, permet moi de douter de ta formation.

    Il semble qu'il vaut mieux commencer par le début, en achetant un bon bouquin sur W$, la partie Qt étant la plus simple et la plus intuitive car disposant d'une API très bien penser.

    Google est ton ami.
  • @loost> Il ne dit nul part qu'il fait de la prog depuis plusieurs années. Il parle de formation BTS et un stage avec Qt4.
    Je vois pas de raison de l'accueillir ainsi :/
    Et la contrainte du multiplateforme pour Qt ne tient pas debout. Tu peux t'en servir pour quelque chose de mono plateforme sans souci heureusement.

    @p2006> loost a raison sur le point de l'achat du bouquin sur Windows, Automation et le pilotage d'applis Office (si tu trouves Outlook en plus, c'est tout paga). En attendant, y'a une page qui ne traite que de ça sur Developpez.com. Lis chacun des liens avec attention ;)

    Pour ce qui est de TWAIN (qui est le seul dont tu te préoccuperas alors), y'a tout dans les liens que je t'ai filé. Je ne m'en suis jamais servi, donc, je ne pourrais pas t'aider plus que ça.

    Bon courage :)
  • p2006 said:
    PS : "Un petit peu de lecture ne te fera pas de mal, bien que ce soit en VB..." : je n'arrive pas à ouvrir ton DOC ( un prob de conversion graphique ou je sais pas trop quoi ??)
    C'est bizarre, c'est un fichier Word à télécharger sur le site de Microsoft. Si ça ne marche pas, c'est à désespérer de tout...
  • Tiens, si tu as la version commerciale de Qt, tu pourras utiliser tout ce qui tiens du module QAxContainer. Sinon, ben, faudra faire tout ça à la mano, à l'aide des exemples de developpez.com et de la MSDN.
  • p2006 said:
    Bonjour,
    je souhaite réaliser une petite appli pour envoyer des doc scanner directement par mail. Je m'explique : dans l'application je n'aurais qu'à cliquer sur un bouton et ca lancera le scann puis le doc scanné sera récupéré et mis directement dans un mail en pièce jointe à partir d'Outlook.

    Première question : comment faire pour déclencher le scann puis en récupérer le ficher scanné ?
    Deuxième question : pourrais je changer le format de mon doc (ex : gif -> jeg ; ou encore intégrer mon doc scanner dans un pdf multi page)
    Troisième question : comment appler un nouveau courrier outlook et integrer mon doc en piece jointe ??

    Je sais c'est un peu le bazar mai bon !!
    Vous pouvez répondre à une question sans répondre aux autre y'a pas de souci !!

    Merci d'avance !!
    Pour synthetiser - et que tu ne sois pas trop frustre de certaines reponses:
    Je sais c'est un peu le bazar mai bon !!
    bah en fait pas tant que ca !!
    a ta premiere question : comme certains te l'on signale, il n'existe rien de standard mais comme tu prevois de fonctionner sous Window, regarde la doc de l'api TWAIN - elle existe/est utilise depuis plusieurs annees et donc fait aurtorite ! - au passage GIMP pour windows supporte TWAIN et donc tu dois pouvoir trouver les sources !! - de plus je ne crois pas que ce forum regorge de specialistes TWAIN.

    a ta seconde question : plein de softs te le permet (des api aussi - notament QT(4)) - jette un oeil a convert (ImageMagick).

    A ta derniere question cf les reponses d'IrmatDen


    Tout ca pour signaler que ce que tu veux faire sera un assemblage de plusieurs technologies (QT entre autres - mais ne sera pas la principale) et que tu dois proceder par etapes (celles que tu as donne en gros, mais que QT4 ne peut pas enormement t'aider dans ta situation )



    Ludo
  • lud42fr said:
    a ta premiere question : comme certains te l'on signale, il n'existe rien de standard mais comme tu prevois de fonctionner sous Window, regarde la doc de l'api TWAIN - elle existe/est utilise depuis plusieurs annees et donc fait aurtorite ! - au passage GIMP pour windows supporte TWAIN et donc tu dois pouvoir trouver les sources !! - de plus je ne crois pas que ce forum regorge de specialistes TWAIN.
    Ben, y'a une lib Qt Twain que j'ai cité plus haut, qui intégre (ô quelle suprise :D ) Qt à Twain :)
    Reste plus qu'à regarder les sources et porter à Qt4 ce qui incompatible (la lib étant Qt3).
  • IrmatDen said:
    [quote=lud42fr]a ta premiere question : comme certains te l'on signale, il n'existe rien de standard mais comme tu prevois de fonctionner sous Window, regarde la doc de l'api TWAIN - elle existe/est utilise depuis plusieurs annees et donc fait aurtorite ! - au passage GIMP pour windows supporte TWAIN et donc tu dois pouvoir trouver les sources !! - de plus je ne crois pas que ce forum regorge de specialistes TWAIN.
    Ben, y'a une lib Qt Twain que j'ai cité plus haut, qui intégre (ô quelle suprise :D ) Qt à Twain :)
    Reste plus qu'à regarder les sources et porter à Qt4 ce qui incompatible (la lib étant Qt3).[/quote]
    Je viens de relire ATTentivement tout le topic, et effectivement j'avais zappe ta remarque, desole ;)


    Ludo
    [mode perso @IrmatDen] pour l'affaire qui nous concerne, je viens juste de reprendre le dev,je te flle plus d'infos dureant cette semaine [/mode perso]
  • Pas de souci ;)
    Et puis, ce serait plutôt "intégrer Twain à Qt" et non l'inverse :$

    (et pour le mode perso, y'a le topic et les emails, sinon, ça risque de partir en hijack :D )
  • Ok merci pour tout ca !! je vais mis mettre à fond et je vous tien au jus !!!!
    Merci a tous et pour ceux qui doute de ma formation en tant que programmeur : j'ai fais un BTS IRIS et j'ai pas mal programmé pendant deux ans. Seulement mes profs n'était pas des mordus de windows et donc j'ai plus bosser sous linux que Win !!!!!!!!!!!!!!!!
    Voili voilou !!!!
  • Je relance ce sujet après une petite pause. Et oui je suis en formation par alternance alors les projets en entreprise sont un peu mis de côté durant les périodes de formation.
    J'ai tout de même buché un peu sur tout ca depuis la dernière fois. Pour la partie envoie de mail ca tourne nikel. La creation de pdf ca avance. Par contre je suis toujours bloqué sur le problème de pilotage du scanner.
    La solution que j'ai testé est un peu tordue mais ca avait l'air de vouloir fonctionner jusqu'à l'essai ; je m'explique :
    _ j'utilise une lib que j'ai trouvé sur le site www.faya.fr à l'adresse suivante :
    http://www.faya.fr/index.php?_p=produits%2Ffayatwain%2F&lang=fr&dynq=&xml=stdpage
    _ cette lib étant une lib native windows n'étant pas accompagnée de son .h j'ai bidouillé avec l'exemple qu'il fournisse sur le site pour utilisé une classe en C de l'exemple qui fait l'interface avec la classe FayaTwain ; cette classe en C je l'ai remis à ma manière et compilée pour en faire une assembly utilisable sous Visual C++ express 2005. Je l'ai donc intégrée dans mon prog en C++ et là ca fonctionnait prèsque j'usqu'à ce que j'ai des problèmes liées directement à la lib FayaTwain .... . J'ai donc pris contact avec les créateurs de cette lib mais comme je voudrais règler le problème assez rapidement je demande à nouveau votre aide !!

    IrmatDen : tu écris : "Tiens, je viens de mettre la main sur ça pour Qt3 / Windows / Twain: Qt twain interface" ; cette classe pourrais marcher puisqu'elle fait bien le lien entre le scann et mon prog ?? (même si l'utilisateur doi règler le scann dans l'interface propre au scann c'est pas grave)
    Par contre pour l'utiliser dans un programme fait sous visual C++ express 2005 il me faut intègrer la librairie QT3 à mes sources et ca je sais pas trop comment faire!?

    PS : si quelqu' un à une autre idée je suis preneur !!
  • Hummm
    Je t'avais indiqué ça car justement ça répondait à ton problème de lien Qt <-> Twain. Je pensais à ce que tu reprennes les sources et les adapte à Qt4 :P
    Par contre, il te faudra probablement le SDK Twain pour compiler (je doute qu'il s'appuie directement sur les bibliothèques dynamiques).
  • Pour l'adaptation à QT4 je suis pas trop chaud là. Je vais déjà voir si je peux utiliser ca tel quel avec QT3 comme c'est le seul outil qt que j'utilise. Par contre pour l'intégrer à mon programme sous VCC++ express 2005 t'as une petite idée ?!
  • Euh :/
    Comme tout le reste de tes fichiers? C'est du code source, n'ait pas peur de télécharger et d'y jeter un oeil, ça mord pas :P
    Par contre, pour le portage tu y seras sans doute bien obligé.

    Qu'est ce qui te fait peur?? C'est moins dur que de traffiquer avec une DLL qui aura de plus des empreintes :/
  • Ok mais comme c'est du source QT3 il me faut aussi intègrer une bonne partie de la lib QT3 (voir tout) dans mon programme!?Nan ?
  • Pas possible. La seule chose que tu puisses faire est inclure les entêtes Q3 et ajouter qt3support au pro il me semble.
    Mais encore une fois, tu fais le mauvais choix en faisant ça, et je doute que ce soit insurmontable, c'est une petite lib.
  • Que me conseil tu si je veux continuer d'utiliser VCC++ et utiliser cette lib QT (soit comme ca, soit en la réécrivant sous VC++) ??
  • Mais je te l'ai déjà dit... Solution la plus simple, tu portes sur Qt4; solutin plus dur tu utilises le support Qt3 inclus dans Qt4 (ce qui n'est une solution qu'à court terme...)
Connectez-vous ou Inscrivez-vous pour répondre.