Donnez vie à vos documents numériques !
 

Récupération données BDD dans un formulaire PDF. – RÉSOLU

abracadabraPDF Forums PDF – Général Récupération données BDD dans un formulaire PDF. – RÉSOLU

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44667
    DeyDey
    Membre

    Bonjour à tous,

    Après des jours de recherches, en vain, je n’ai pas la solution de mon problème qui est le suivant :

    J’ai créé un formulaire PDF sur Adobe Acrobat Pro XI et j’aimerai pouvoir récupérer toutes les infos d’une base de données qui correspond aux champs.

    Par exemple, J’ai une liste déroulante dans mon formulaire (Nom), avec tous les noms référencés dans ma BDD; j’aimerai qu’une fois le nom choisi, les autres champs se remplisse automatiquement avec les champs qui correspondent dans la BDD.

    J’espère que vous avez compris ma question.

    Merci d’avance :) !

Affichage de 25 réponses de 1 à 25 (sur un total de 106)
  • Auteur
    Réponses
  • #55845
    Merlin
    Maître des clés

    Bonjour et bienvenue,

    C’est possible mais il faut soit un très bon niveau en JavaScript, soit faire faire.
    :idee:

    #55846
    DeyDey
    Membre

    Outch,
    Merci d’abord de ta réponse,

    Ce n’est pas possible avec un autre logiciel ? Ou peut être que je peux renseigner des données (par exemple Prénom, Tel, Adresse) directement dans mon formulaire et quand je choisi le Nom, les champs se remplissent automatiquement ?

    Et si je change de méthode:
    Je fais une interface Windows form qui récupère mes données dans la BDD, je peux faire en sorte que quand je valide, les données des champs se place au bon endroit de mon pdf ?

    #55847
    Merlin
    Maître des clés

    S’agit-il d’un formulaire qui doit être aussi complété par un humain (en plus des données importées), ou bien est-ce seulement du remplissage automatique ?

    #55848
    DeyDey
    Membre

    En fait c’est pour remplir un bordereau, en choisissant le nom de la personne, les autres champs doivent se mètrent automatiquement mais avec la possibilité de modifier certaines valeurs si elles ne conviennent pas.

    #55849
    alex
    Membre

    Bonjour à tous,
    Sur le thème des données à afficher dans un formulaire voici un petit truc que j’utilise souvent et qui consiste à embarquer les données du formulaire sous forme de pièces jointes. Dans mon exemple, j’ai autant de fichiers texte que de fiches, on peut en ajouter autant qu’on veut. Mon formulaire comporte 3 champs à remplir (champs « Champ.0″, »Champ.1″, »Champ.2 »), on peut là aussi en ajouter autant qu’on veut (paramètre NbreChamps à modifier dans le script importDatas().
    Le premier script importDatas liste les pièces jointes, remplit la liste déroulante et et collecte les données pour les stocker dans une table.
    Le second script remplit la fiche à partir de l’item sélectionné.
    Voir maquette.
    Nombreuses variantes possibles:
    pièces jointes XML avec noms des champs.
    pièce jointe unique.
    données externes.
    remplissage du menu déroulant à l’ouverture.
    etc…

    [attachment deleted by admin]

    #55850
    Merlin
    Maître des clés

    Génial !
    :bravo:

    #55851
    DeyDey
    Membre

    Merci de ta réponse, j’ai enfin l’impression d’avancé :D.

    Je pense que cette méthode conviendrait, je vais essayé de gratter un peu en Js même si ce n’est pas forcement ma sauce ..
    Peux-tu me détaillé un peu plus la méthode à utiliser pour faire cela, je ne suis pas sur d’avoir bien tout compris.

    Aussi, comment accédé aux script ? Je vois uniquement le nom dans les options ..

    #55852
    Merlin
    Maître des clés

    Sinon j’ai ça (ci-joint).

    C’est le même principe mais ça fonctionne avec un seul fichier incorporé, c’est un fichier CSV séparé par des tabulations.
    :idee:

    [attachment deleted by admin]

    #55853
    DeyDey
    Membre

    Ca peut être une bonne méthode aussi, il serait possible de modifier des données sur le fichier CSV sans passé par Acrobat (Sur un PC autre que le créateur) ?
    Quelle est la config du fichier CSV ?

    Merci

    #55854
    alex
    Membre

    Pour traiter les fichiers .csv, il faut considérer le « ; » comme caractère séparateur (voir exemple ci-joint script importDatas() ). On peut là aussi modifier ces fichiers directement sous Acrobat PRO.
    Ouvrir le fichier csv pour voir sa structure …

    [attachment deleted by admin]

    #55855
    Merlin
    Maître des clés

    Acrobat ne peut pas modifier un fichier TXT ou CSV, il faut le préparer par ailleurs.
    Pour l’export en CSV je préfère LibreOffice à Excel car les options d’exportation sont plus complètes.
    De mémoire, il vaut mieux utiliser l’encodage UTF-8 qui assure un affichage cohérent des caractères accentués indépendamment des plateformes. C’est tout.
    :Smiley01:

    #55856
    alex
    Membre

    Bonjour Merlin,
    Fais un essai sur ce formulaire…
    Si tu ouvres une pièce  jointe dans Acrobat (par exemple Dupont.csv) tu constaters que tu peux la modifier sous Excel, et elle sera mise à jour !
    Oui, il faut faire attention à l’encodage pour les accents.
    Dans mon exemple, j’ai mélangé volontairement des csv et des txt.

    #55857
    DeyDey
    Membre

    A vrai dire je suis un peu perdu..
    Je ne sais pas trop comment procéder pour obtenir un tel résultat.

    Est ce possible de tout mettre dans le même fichier CSV?
    Et comment se fait le lien avec les pièces jointes ?

    #55858
    Merlin
    Maître des clés

    Fais un essai sur ce formulaire…
    Si tu ouvres une pièce  jointe dans Acrobat (par exemple Dupont.csv) tu constaters que tu peux la modifier sous Excel, et elle sera mise à jour !

    Oui, bien sur. Je pensais à la partie création du CSV.
    :Smiley03:

    #55859
    Merlin
    Maître des clés

    Est ce possible de tout mettre dans le même fichier CSV?
    Et comment se fait le lien avec les pièces jointes ?

    Dans mon exemple la correspondance entre les noms de champs et les colonnes est faite par JavaScript à l’ouverture du document.
    Dans l’exemple il y en a 3 mais on peut augmenter le nombre des colonnes et des champs correspondants.
    Peu importe le nom du fichier de donnés et son suffixe (TXT ou CSV), par-contre le script employé requiert qu’il n’y ait pas d’autre pièces jointes dans le PDF.

    Par-contre je viens de m’apercevoir que j’avais posté un fichier verrouillé, ci-joint un autre.

    [attachment deleted by admin]

    #55860
    DeyDey
    Membre

    Salut !
    Je ne comprends toujours pas bien, où ce trouve les script ?
    Et dans ton exemple, les champs ne sont pas modifiables manuellement.

    Merci de vous penchez sur ma question, ça m’aide beaucoup :) !

    #55861
    Merlin
    Maître des clés

    Et dans ton exemple, les champs ne sont pas modifiables manuellement.

    Je cite mon dernier message (ci-dessus) : « Par-contre je viens de m’apercevoir que j’avais posté un fichier verrouillé, ci-joint un autre. »

    Je ne comprends toujours pas bien, où ce trouvent les scripts ?

    Capture jointe.

    [attachment deleted by admin]

    #55862
    DeyDey
    Membre

    Merci, autant pour moi :)

    Je ne comprends pas, dans l’exemple d’alex, le script « remplissageFiche » ?
    Le bouton ‘importer » efface les champs, peut être que c’est un pb de mon coté ?

    #55863
    Merlin
    Maître des clés

    Ouvre la Console (ctrl/cmd + J) avant de cliquer sur « Importer » : ça réinitialise la liste des pièces jointes et ça réinitilise les champs.
    C’est la liste déroulante qui doit remplir les champs.

    C’est une maquette, dans un « vrai » document il ne devrait pas y avoir le bouton « Importer » et l’initialisation se ferait automatiquement à l’ouverture du document.
    :idee:

    #55864
    DeyDey
    Membre

    Je comprends mieux l’intérêt du bouton, merci :)

    Par contre j’essaye de gratter le script et je n’arrive pas à comprendre où il fait appel aux bon fichiers et quel champ correspond à tel cellule.

    #55865
    Merlin
    Maître des clés

    C’est le script « Remplissage fiche » qui fait tout le boulot, et qui est appelé par la liste déroulante.

    #55866
    DeyDey
    Membre

    Je dois être vraiment mauvais en JS..
    Le truc c’est que j’ai beaucoup de champs à remplir avec plusieurs listes déroulantes, et je n’arrives pas à comprendre la script..

    Il faut que je puisse récupérer plusieurs données venant du même fichier .csv.
    Ou est-ce que l’on défini le nom des champs dans les code ?

    (c’est un peu compliqué à expliquer, et je commence à me dire que c’est peut-être pas de mon niveau..)

    #55867
    DeyDey
    Membre

    J’ai joint mon document pour que vous puissiez vous faire une idée.

    [attachment deleted by admin]

    #55868
    DeyDey
    Membre

    UP Je suis vraiment coincé, je n’avance plus, je désespère  ! :mur:

    #55869
    DeyDey
    Membre

    Ré UP ?

Affichage de 25 réponses de 1 à 25 (sur un total de 106)
  • Vous devez être connecté pour répondre à ce sujet.