Inscrivez-vous

abracadabraPDF Forum

Le seul forum francophone entièrement dédié au format PDF

Antonin TCP

05 août 2013 : 16:27
Sorcier Messages: 25
Bonjour,

Je suis très heureux d'enfin trouver un forum d'entraide en français pour les PDF.

Je cherche depuis quelques semaines à faire un formulaire pour mon entreprise:

Je voudrai que les cameramen partant en tournage puissent remplir un formulaire pdf pour y indiquer avec quel matos partent ils, combien de piles...

Or, dans la liste des caméras ils choisissent quel modèle : A, B ou C.

Une fois selectionné, j'aimerai qu'une case apparaisse pour y inscrire le numéro de la caméra, comme sur certains sites web.

J'ai essayé sur Open Office, mais je n'ai vraiment pas les compétences pour.

Maintenant je me met sur Adobe Acrobat XI en espérant que ce soit plus accessible.

Merci beaucoup et bonne journée.
« Modifié: 27 août 2013 : 16:09 par LionelMacBruSoft »

  • Magicien
  • Messages: 94
:joker:

Je ne m'y connais pas du tout en script OpenOffice, mais je pense qu'il serait beaucoup, beaucoup plus simple de faire ça avec Adobe Acrobat (si tu le possède) et dans ce cas là je pourrais t'aider  :Smiley01:

Cordialement

  • Sorcier
  • Messages: 25
Je suis très très preneur, j'ai justement décidé de me mettre dessus  :Smiley08:

  • Grand magicien
  • Messages: 281
Bienvenu à toi Antonin,
Effectivement pour cela il te faut Adobe Acrobat pour que tu puisses créer/modifier des PDF.

Il sera à ce moment là possible de réaliser cette fonctionnalité.

 :bonjour:

  • Sorcier
  • Messages: 25
Je l'ai justement et je débute dessus :)

  • Magicien
  • Messages: 94
Avec Acrobat, c'est très simple.

Clic droit sur ta liste > Propriétés > Action > Le déclencheur sera "Souris enfoncée" et l'action "Afficher/Masquer un champ" > Ajouter > Tu choisis le champ qui va contenir le numéro de la caméra et tu coche Afficher  :Smiley01:

Pour que ton champ soit par défaut caché avant que le caméraman clique sur la zone de liste, Clic droit sur le champ > Propriétés > Général > Tu remplaces "Visible à l'écran" par "Invisible à l'écran"

N'hésite pas si tu as besoin de plus de renseignements

Cordialement  :bonjour:


  • Sorcier
  • Messages: 25
Merci beaucoup Stubiana,

Par contre je ne trouve pas la liste dont tu parles. Lorsque je demande à créer un nouveau formulaire, adobe acrobate m'envoie vers Forms Central, c'est dessus que ça se passe ou vous utilisez autre chose ?

merci encore !

  • Magicien
  • Messages: 94
Or, dans la liste des caméras ils choisissent quel modèle : A, B ou C.

C'est de cette liste que je parle, donc je suppose que tu ne l'a pas encore créée.

Je pense que le mieux est de créer ton fichier sous Open Office, en y incluant tout le texte de ton formulaire, et en laissant des espaces à l'emplacement des champs, puis d'exporter ce fichier au format PDF.
Une fois fait, tu l'ouvre avec Acrobat, tu cliques sur Créer un formulaire, A partir d'un document existant, et Document Actif.

Lorsque tu aura fait ça, préviens nous qu'on puisse commencer à voir cette histoire de liste.  :Smiley03:

Cordialement.  :bonjour:
« Modifié: 05 août 2013 : 19:36 par LionelMacBruSoft »

  • Sorcier
  • Messages: 25
J'ai justement déjà fait un formulaire assez proche de ce que je veux sur Acrobat. Mais lorsque je clique droit sur cet élément, je n'ai pas propriété, mais j'ai: "monter/descendre d'un niveau" "Insérer un élément au dessus" "Insérer un élément au regard" "couper/copier/coller" et "Sélectionner/Sélectionner tout" .

Merci encore, c'est super !

  • Sorcier
  • Messages: 25
Je viens de comprendre: Forms Central ne permet pas du tout ça. Il faut faire le formulaire sur Acrobat Pro, depuis une base Word, Excel ou autre, afin d'être sûr de le pouvoir !

Merci beaucoup, si j'ai d'autres difficultés, je peux encore écrire sur ce topic ou j'en créé un autre ?

Merci encore !

EDIT: Est il plus pratique que je fasse les bases non interactives sur Photoshop ou Word, en laissant de la place pour les champs à remplir, ou que je fasse la totalité du formulaire sur Adobe Acrobat ? Comment procédez vous ?

EDIT 2: En sélectionnant "Souris enfoncée" ou autre chose, lorsque je coche puis décoche la case, le nouveau champs apparu reste à l'image. Alors que j'aimerai dans l'idéal, qu'elle disparaisse aussi. (Par exemple si le cadreur s'est trompé de case, qu'il ait coché la mauvaise, la décochant donc ensuite)

Merci encore et encore
« Modifié: 06 août 2013 : 14:35 par Antonin TCP »

  • Grand magicien
  • Messages: 281
Je pense que le plus simple est de créer complétement ton formulaire avec Adobe Acrobat.
Tu n'as besoin d'aucune autre ressource pour répondre à ton besoin.

Tu peux intégrer dans javascript dans des champs ou document.

Fait une recherche sur le forum tu trouveras un grand nombres de sujets correspondant.

Bon courage.
 :bonjour:
« Modifié: 06 août 2013 : 16:17 par LionelMacBruSoft »

  • Grand magicien
  • Messages: 1 054
Bonjour,

Oui, le plus simple est de créer directement avec Adobe Acrobat.

Faire une recherche sur le forum est la première chose à faire avant de créer un sujet.  :idee:
http://abracadabrapdf.net/forum/index.php/topic,1000.0.html

Lionel :alien2:
SerNuCom : SERvices NUmérique COMmunication

  • Sorcier
  • Messages: 25
Merci pour vos réponses.

J'ai cherché pour le problème suivant, et je n'ai pas trouvé chaussure à mon pied :

Via les déclencheurs que me propose Adobe Acrobat, je n'arrive pas à rendre un champs visible uniquement lorsqu'une "case à cocher" est cochée. Visible et bien entendu éditable (l'idée serait que ce soit un champs de texte ou autre)

Je ne trouve pas sur google non plus.

Merci encore
« Modifié: 06 août 2013 : 18:46 par LionelMacBruSoft »

  • Grand magicien
  • Messages: 281
Voici un exemple de code js a intégrer sur des boutons boutons radio (type oui, non) :

if (this.getField("boutonradio").isBoxChecked(0))
{this.getField("champaffiche").display = display.visible;}
else
{this.getField("champaffiche").display = display.hidden;}

En gros quand la case oui est cochée, le champ "champaffiche" est visible sinon il ne l'est pas.

Tu trouveras plein d'exemples de ce type sur le forum.

Bonne continuation et bon courage.
 :bonjour:
« Modifié: 06 août 2013 : 18:46 par LionelMacBruSoft »

  • Sorcier
  • Messages: 25
Génial.

J'arrive enfin à faire apparaitre ou disparaitre en fonction du choix, la fenêtre permettant de choisir le nombre de caméras sélectionnées.

Je voudrais savoir si il y a un moyen pratique de résumer en une ligne, l'état de plusieurs "getfield". De façon parfaitement insolente, j'ai tenté ça:

if (event.target.value == "0")
{
this.getField("3").display = display.hidden;
this.getField("4").display = display.hidden;
}
if (event.target.value == "1")
{
this.getField("1").display = display.visible;
this.getField("2";"3";"4";"5";"6";"7";"8";"9";"10";"11";"12";"13";"14";"15";"16";"17";"18";"19";"20").display = display.hidden;
}

Mais ça ne fonctionne pas. Dois-je du coup les écrire les un à la suite des autres?

Au passage, comment puis-je rajouter du texte à côté d'un champs, de manière à qu'il apparaisse en même temps que celui-ci? (Pour nommer la liste par exemple)

Je précise que je fais mes tout tout tout premier pas avec Javascript et que pour le coup j'essaye de comprendre une logique dont je n'ai pas trop les bases, c'est possible que le code ci-dessus soit une parfaite infamie.

Merci encore, je vais peut être finir par y arriver grâce à vous.  :priere:
« Modifié: 07 août 2013 : 14:18 par Antonin TCP »

  • Magicien
  • Messages: 94
Pour ton problème de getField, si les valeurs se suivent, tu peux utiliser une boucle :

Remplace :

this.getField("2";"3";"4";"5";"6";"7";"8";"9";"10";"11";"12";"13";"14";"15";"16";"17";"18";"19";"20").display = display.hidden;

par

for (var i = 2 ; i<=20 ; i++)
{
this.getField(i).display = hidden;
}


Pour rajouter du texte tu peux simplement ajouter un nouveau champ de texte, et le mettre en lecture seule pour que personne ne puisse le modifier  :Smiley03:

Cordialement  :bonjour:
« Modifié: 13 août 2013 : 18:48 par LionelMacBruSoft »

  • Sorcier
  • Messages: 25
J'ai un problème de syntaxe, mais je n'arrive pas à l'identifier:

if (event.target.value == "1")
{
for (var i = 2B ; i<= 20B ; i++)
{
this.getField(i).display = hidden;
}
for (var i = 1B ; i<= 1B ; i++)
{
this.getField(i).display = visible;
}
}

Vous arrivez à l'identifier ?

  • Magicien
  • Messages: 94
Oui, cette méthode ne marche qu'avec les nombres, après il y aura d'autres méthodes plus compliqué qui dépendent des noms de tes champs :

- Si tes noms de champ sont "1", "2", "3", ...., une boucle simple fera l'affaire

- Si tes noms de champs sont un chiffre suivi d'un texte, il faudra concaténer les deux, par exemple :
for (var i = 2 ; i<= 20 ; i++)
{
this.getField(i+"B").display = hidden;
}

- Si ce n'est que du texte... :joker:

Cordialement  :bonjour:

  • Sorcier
  • Messages: 25
Merci beaucoup pour ton aide Stubiana. Du coup je reste dans la longue liste que j'ai fait, je prend finalement moins de temps à dupliquer à "remplacer par" sur le bloc note de cette manière.

Aussi, je cherche à rendre les cases invisibles lorsque la liste ne l'est pas non plus. Si par exemple un utilisateur commence à mettre "15" sur une liste, puis se rend finalement compte qu'il s'est trompé de catégorie, qu'il l'a décoche, j'aimerai que les cases partent elles aussi. Pour le moment seul la valeur de la liste peut les rendre invisible (Par défaut à zero du coup).

J'ai tenté ça:

if (this.getField("ListeMSD").display = hidden;
{
for (var i = 1 ; i<= 20 ; i++)
{
this.getField(i+"B").display = hidden;
}
}

Mais ça ne fonctionne pas :(

Tu aurais une piste ? Merci encore beaucoup !

  • Sorcier
  • Messages: 25
Par un autre biais, je tente de mettre à zéro la valeur de la liste si elle est "hidden", mais ça ne fonctionne pas non plus.

if (this.getField("ListeMSD").display = hidden);
{
this.getField("ListeMSD").value == "0"}

C'est passionnant le Javascript !  :Smiley08:

  • Magicien
  • Messages: 94
Je ne sais pas si ça peut résoudre le problème mais en tout cas ton code comporte des erreurs de syntaxe :

- L'opérateur == effectue un test d'égalité, il renvoie un booléen (true ou false) qui indique si le le test est correct ou non (par exemple 0 == 0 renverra true puisque 0 est bien égal à 0, mais 1 == 0 renverra false)

- L'opérateur = effectue une affectation, c'est-à-dire qu'il donne la valeur à une variable (par exemple après le code a = 0; a vaudra 0)

Dans ton deuxieme code, tu utilise une affectation dans ton if, donc le programme ne va pas tester si le champ est caché, il va le RENDRE caché.
De même, ligne d'en dessous, le programme ne va pas mettre la valeur de la liste à 0, il va TESTER si elle est égale à 0, et renverra true ou false.

Une correction serait donc :

if (this.getField("ListeMSD").display == hidden);
{
this.getField("ListeMSD").value = "0"
}

Cordialement  :bonjour:

« Modifié: 08 août 2013 : 18:23 par Stubiana »

  • Sorcier
  • Messages: 25
Cool, grace à toi je comprend mieux la nuance entre le simple et le double "=" :)

Malheureusement, ça ne marche toujours pas, alors que ça me semble fonctionnel:

if (this.getField("ListeMSD").display == hidden);
{
this.getField("1B").display = display.hidden;
this.getField("2B").display = display.hidden;
this.getField("3B").display = display.hidden;
this.getField("4B").display = display.hidden;
this.getField("5B").display = display.hidden;
this.getField("6B").display = display.hidden;
this.getField("7B").display = display.hidden;
this.getField("8B").display = display.hidden;
this.getField("9B").display = display.hidden;
this.getField("10B").display = display.hidden;
this.getField("11B").display = display.hidden;
this.getField("12B").display = display.hidden;
this.getField("13B").display = display.hidden;
this.getField("14B").display = display.hidden;
this.getField("15B").display = display.hidden;
this.getField("16B").display = display.hidden;
this.getField("17B").display = display.hidden;
this.getField("18B").display = display.hidden;
this.getField("19B").display = display.hidden;
this.getField("20B").display = display.hidden;
}

J'ai mis cette action en haut de celle qui détermine le rapport valeur de liste => nombre de case apparente, elle devrait donc être prioritaire non ?

Je ne comprend pas ce qui cloche.

Merci encore Stubiana !

  • Grand magicien
  • Messages: 1 054
Bonjour,

Je ne comprend pas ce qui cloche.
:idee: L'ordre dans lesquelles les actions s'effectuent ?

Lionel :alien2:
SerNuCom : SERvices NUmérique COMmunication

  • Sorcier
  • Messages: 25
Salut Lionel,

Je l'ai pourtant bien mise en première par rapport à l'autre action. Je viens d'essayer de mettre le script dans la même action avec :
if (this.getField("ListeMSD").display == hidden )!important;
Rien ne change.

J'ai aussi essayé de n'appliquer que cette action, en vain  :Smiley02:

  • Magicien
  • Messages: 94
je pense que c'est tout simplement dû à une erreur d'écriture, il faut écrire "display.hidden" et non pas seulement "hidden" dans ton if :Smiley03:

Cordialement  :bonjour:

  • Sorcier
  • Messages: 25
Non plus malheureusement :(

if (this.getField("ListeMSD").display == display.hidden );
{
this.getField("1B").display = display.hidden;
this.getField("2B").display = display.hidden;
this.getField("3B").display = display.hidden;
this.getField("4B").display = display.hidden;
this.getField("5B").display = display.hidden;
this.getField("6B").display = display.hidden;
this.getField("7B").display = display.hidden;
this.getField("8B").display = display.hidden;
this.getField("9B").display = display.hidden;
this.getField("10B").display = display.hidden;
this.getField("11B").display = display.hidden;
this.getField("12B").display = display.hidden;
this.getField("13B").display = display.hidden;
this.getField("14B").display = display.hidden;
this.getField("15B").display = display.hidden;
this.getField("16B").display = display.hidden;
this.getField("17B").display = display.hidden;
this.getField("18B").display = display.hidden;
this.getField("19B").display = display.hidden;
this.getField("20B").display = display.hidden;
}

  • Magicien
  • Messages: 94
Serait-il possible de mettre ton fichier en pièce jointe ? N'ayant pas la totalité du code sous les yeux je ne peux pas me rendre compte de ce qui cloche.

Merci  :bonjour:

  • Sorcier
  • Messages: 25
http://we.tl/8dJNPJZ9WS

Voici un lien vers le formulaire.


Merci encore pour l'aide  :bravo:  :Smiley01:

  • Magicien
  • Messages: 94
Met plutôt le code sur ta case à cocher, lorsqu'elle est décochée tu cache tout les champs :

if (this.getField("CFCheck").isBoxChecked(0))
{
this.getField("ListeCF").display = display.visible;
}
else
{
this.getField("ListeCF").display = display.hidden;
this.getField("1").display = display.hidden;
this.getField("2").display = display.hidden;
this.getField("3").display = display.hidden;
this.getField("4").display = display.hidden;
this.getField("5").display = display.hidden;
this.getField("6").display = display.hidden;
this.getField("7").display = display.hidden;
this.getField("8").display = display.hidden;
this.getField("9").display = display.hidden;
this.getField("10").display = display.hidden;
this.getField("11").display = display.hidden;
this.getField("12").display = display.hidden;
this.getField("13").display = display.hidden;
this.getField("14").display = display.hidden;
this.getField("15").display = display.hidden;
this.getField("16").display = display.hidden;
this.getField("17").display = display.hidden;
this.getField("18").display = display.hidden;
this.getField("19").display = display.hidden;
this.getField("20").display = display.hidden;
}

Initialisation();

Chez moi ça marche  :Smiley03:

Cordialement  :bonjour:

  • Sorcier
  • Messages: 25
En effet ça fonctionne impeccablement ! C'est terrible, mon pdf commence à ressembler à ce que je voulais :D

J'arrive au bout mais il va me falloir encore de l'aide  :priere:

Je cherche à faire un bouton "Enregistrer" qui non seulement enregistre en lecture seule, mais dirige automatiquement dans un dossier précis et enfin, qui porte un nom constitué de champs dans le formulaire (ex: nom, projet, caméra).

J'ai lu plusieurs topics sur le forum, notamment au sujet du script à mettre à la racine d'Acrobat, du fait d'étendre les droits dans Acrobat, du script javascript pour faire tout ça, mais après moulte tentatives, rien ne fonctionne...

Est ce que Acrobat XI simplifie cette démarche, est elle différente ?

En tout cas merci infiniment.  :bonjour: Ce formulaire va me faire gagner plusieurs dizaines de minutes par jour !


  • Sorcier
  • Messages: 25

  • Grand magicien
  • Messages: 7 199
Je cherche à faire un bouton "Enregistrer" qui non seulement enregistre en lecture seule, mais dirige automatiquement dans un dossier précis et enfin, qui porte un nom constitué de champs dans le formulaire (ex: nom, projet, caméra).
J'ai lu plusieurs topics sur le forum, notamment au sujet du script à mettre à la racine d'Acrobat, du fait d'étendre les droits dans Acrobat, du script javascript pour faire tout ça, mais après moulte tentatives, rien ne fonctionne...

Il faudrait que tu reposte ton formulaire, le lien ci-dessus ne fonctionne plus.
Le plus compliqué c'est le chemin d'accès vers le dossier spécifique, problème que j'ai résolu élégamment en plaçant le formulaire "matrice" dans le dossier final, ainsi l'enregistrement-sous est proposé par défaut dans ce même dossier…
Je t'en dirais plus en voyant le doc.
 :Smiley03:


Est ce que Acrobat XI simplifie cette démarche, est elle différente ?

Non, ça ne change rien.
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25

  • Grand magicien
  • Messages: 7 199
Est-ce que quelque chose comme le ci-joint conviendrait ?
(Tout est dans le bouton).

Ca ne répond pas à l'ensemble du cahier des charges mais c'est la solution la plus simple à mettre en œuvre, et ça fonctionne aussi avec Reader.
 :bonjour:
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
C'est parfait ! Ca permet de gagner beaucoup de temps et c'est un excellent compromis :D !

Merci encore Merlin.

Pour finir, as tu une piste pour enregistrer le fichier en lecture seule ?

  • Grand magicien
  • Messages: 7 199
Pour qu'un PDF soit en lecture seule il faut utiliser les méthodes de protection.
Pour ce que tu veux faire le plus simple est de verrouiller tous les champs, en ajoutant ce script :

for (var i=0; i<this.numFields; i++)
{
var fname = this.getNthFieldName(i);
var f = this.getField(fname);
f.readonly = true;
}



Mais il ne faut pas l'ajouter n'importe où, ce qui pour ton document nous donne :

MonTitre = "Tony Prod";
ChEnrgNom = this.getField("Journaliste");
ChEnrgDate = this.getField("Date de sortie");
if (ChEnrgDate.value == null || ChEnrgDate.value == "" || ChEnrgNom.value == null || ChEnrgNom.value == "")
{app.alert({cMsg:"Merci de renseigner les champs \"Date de sortie\" et \"Journaliste\" avant d\'enregistrer ce document.", nIcon:2, cTitle:MonTitre});}
else
{
var strFixe = "_" + MonTitre;
var strNom = ChEnrgNom.value;
var strNum = ChEnrgDate.value
if (app.language == "FRA")
      {var strTitre = strFixe + "_Enregistrement";
      var strQuestion = "COPIEZ le nom propos\u00E9 ci-dessous et COLLEZ le dans la fen\u00EAtre suivante pour l'utiliser comme nom de fichier \(merci de respecter cette syntaxe qui nous facilite la gestion\) :";
      }
      else
      {var strTitre = strFixe + "_SaveAs";
      var strQuestion = "COPY below proposed text and PASTE it in the following box to use it as file name:";
      }
var strDisplay = strNum + "_" + strNom + strFixe;
var saveRep = app.response({cQuestion: strQuestion, cTitle: MonTitre, cDefault: strDisplay,});
if (saveRep != null)
   {
   for (var i=0; i<this.numFields; i++)
      {
      var fname = this.getNthFieldName(i);
      var f = this.getField(fname);
      f.readonly = true;
      }

   app.execMenuItem("SaveAs");
   }
}


Voir PJ.
 :Smiley03:
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 49
Bonjour Merlin; Est ce que je peux ajouter un chemin vers lequel j'enregistre le document et sous le format .fdf

par exemple ici ; C:\Users\DJAMEL\Documents\documents.fdf

  • Grand magicien
  • Messages: 7 199
this.exportAsFDF(true, true, cPath: "C:\Users\DJAMEL\Documents\", true);

 :Smiley01:
« Modifié: 29 août 2013 : 13:16 par Merlin »
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 49
bonjour

s'il vous plait Merlin !
J'ai réussi, donne moi un coup de main!
ou je dois placer le code ?

  • Grand magicien
  • Messages: 7 199
Dans le bouton d'envoi, en action "souris enfoncée".

Mais enregistrer un PDF et enregistrer un FDF sont deux choses bien différentes qui répondent à des besoins et à des moyens différents.
 :idee:
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
Merci beaucoup beaucoup Merlin!

Bientôt mon formulaire sera terminé grâce à toi :D

Mais j'ai un problème de syntaxe que je ne comprend pas, j'ai un "missing ) after condition"  sur ces lignes:

if (ChEnrgDate.value == null || ChEnrgDate.value == "" || ChEnrgNom.value == null || ChEnrgNom.value == ""|| ChEnrgPrenom.value == null || ChEnrgPrenom.value == "" ChEnrgProjet.value == null || ChEnrgProjet.value == ""))
{app.alert({cMsg:"Merci de renseigner les champs \"Date du jour\", \"Cadreur\", \"Journaliste\" et \"Projet\" avant d\'enregistrer ce document.", nIcon:2, cTitle:MonTitre});}
else

Après ça je vous embêterai plus jamais promis :D

Merci encore  :priere: :bonjour:

  • Grand magicien
  • Messages: 7 199
Instinctivement je dirais que l'erreur vient de là (non testé) :

if (ChEnrgDate.value == null || ChEnrgDate.value == "" || ChEnrgNom.value == null || ChEnrgNom.value == ""|| ChEnrgPrenom.value == null || ChEnrgPrenom.value == "" ChEnrgProjet.value == null || ChEnrgProjet.value == ""))

Les messages d'erreur de la Console ne sont pas forcément très clairs, là il te dit qu'il manque une parenthèse en début de condition alors que c'est l'inverse : il y en a une en trop à la fin.
 :bonjour:


D'autre part, le jour où ça m'embêtera je déserterais le forum…
 :geek:
« Modifié: 29 août 2013 : 11:45 par Merlin »
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 49
Dans le bouton d'envoi, en action "souris enfoncée".

Mais enregistrer un PDF et enregistrer un FDF sont deux choses bien différentes qui répondent à des besoins et à des moyens différents.
 :idee:

*******

Merci beaucoup Merlin !
j'ai déjà fait ceci Mais j'en ai pas de résultat
voila ce que j'ai sur le ficher joint.

  • Sorcier
  • Messages: 49
je veux enregistrer les données de mon document Pdf dans un lien sur mon ordinateur a chaque saisie.

  • Grand magicien
  • Messages: 7 199
voila ce que j'ai sur le ficher joint.
Ca marche.
(Voir ci-joint).
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 7 199
Bonjour Merlin; Est ce que je peux ajouter un chemin vers lequel j'enregistre le document et sous le format .fdf
par exemple ici ; C:\Users\DJAMEL\Documents\documents.fdf

Pour pouvoir pré-indiquer le chemin il faut que l'instruction vienne d'un bouton ou d'un menu d'Acrobat, ou bien d'une Action.
Ce n'est pas possible depuis un document (sécurité oblige).

 :idee:
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
Arg malheureusement ça n'est pas ça ! :(

J'avais ajouté la paranthèse moi même après plusieurs vaines tentatives. Du coup je l'ai copié avec sans faire exprès.

Pourtant j'ai comparé mon script au tient et la syntaxe identique, j'ai juste rajouté des champs...

Je ne comprend pas  :Euuuh:

Merci encore !

  • Sorcier
  • Messages: 49
Oui ,Merlin ça marche
Merci beaucoup

Mais ou est le lien automatisé.
C:\Users\DJAMEL\Documents\ALG-BLANC

  • Sorcier
  • Messages: 49
this.exportAsFDF(true, true, cPath: "C:\Users\DJAMEL\Documents\", true);

 :Smiley01:
Il ya une erreur de syntaxe Merlin !

  • Grand magicien
  • Messages: 7 199
Mais ou est le lien automatisé.
C:\Users\DJAMEL\Documents\ALG-BLANC

Pour pouvoir pré-indiquer le chemin il faut que l'instruction vienne d'un bouton ou d'un menu d'Acrobat, ou bien d'une Action.
Ce n'est pas possible depuis un document (sécurité oblige).

 :idee: :idee:
Acrobate du PDF, InDesigner et Photoshopographe

  • Grand magicien
  • Messages: 7 199
Arg malheureusement ça n'est pas ça ! :(
Pourtant j'ai comparé mon script au tient et la syntaxe identique, j'ai juste rajouté des champs...
Je ne comprend pas  :Euuuh:

Quand j'enlève le "else" ça fonctionne : pas de message d'erreur…
 :Euuuh:
Acrobate du PDF, InDesigner et Photoshopographe

  • Sorcier
  • Messages: 25
Pas chez moi  :Smiley02:

Mais voilà le code en entier:

MonTitre = "TCP";
ChEnrgNom = this.getField("Cadreur");
ChEnrgPrenom = this.getField("Journaliste");
ChEnrgDate = this.getField("datedujour");
ChEnrgProjet = this.getField("Projet");
if (ChEnrgDate.value == null || ChEnrgDate.value == "" || ChEnrgNom.value == null || ChEnrgNom.value == ""|| ChEnrgPrenom.value == null || ChEnrgPrenom.value == "" ChEnrgProjet.value == null || ChEnrgProjet.value == "")
{app.alert({cMsg:"Merci de renseigner les champs \"Date du jour\", \"Cadreur\", \"Journaliste\" et \"Projet\" avant d\'enregistrer ce document.", nIcon:2, cTitle:MonTitre});}
else
{
var strFixe = MonTitre + "_";
var strNom = ChEnrgNom.value;
var strPrenom = ChEnrgPrenom.value;
var strProjet = ChEnrgProjet.value;
var strNum = ChEnrgDate.value
if (app.language == "FRA")
{var strTitre = strFixe + "_Enregistrement";
var strQuestion = "COPIEZ le nom propos\u00E9 ci-dessous et COLLEZ le dans la fen\u00EAtre suivante pour l'utiliser comme nom de fichier \(merci de respecter cette syntaxe qui nous facilite la gestion\) :";
}
else
{var strTitre = strFixe + "_SaveAs";
var strQuestion = "COPY below proposed text and PASTE it in the following box to use it as file name:";
}
var strDisplay = strNum + "_" + strProjet + "_" + strNom + "_" + strPrenom + strFixe;
var saveRep = app.response({cQuestion: strQuestion, cTitle: MonTitre, cDefault: strDisplay,});
if (saveRep != null)
{
for (var i=0; i<this.numFields; i++)
      {
      var fname = this.getNthFieldName(i);
      var f = this.getField(fname);
      f.readonly = true;
      }
app.execMenuItem("SaveAs");
}
}

  • Sorcier
  • Messages: 49
Pas chez moi  :Smiley02:

Mais voilà le code en entier:

MonTitre = "TCP";
ChEnrgNom = this.getField("Cadreur");
ChEnrgPrenom = this.getField("Journaliste");
ChEnrgDate = this.getField("datedujour");
ChEnrgProjet = this.getField("Projet");
if (ChEnrgDate.value == null || ChEnrgDate.value == "" || ChEnrgNom.value == null || ChEnrgNom.value == ""|| ChEnrgPrenom.value == null || ChEnrgPrenom.value == "" ChEnrgProjet.value == null || ChEnrgProjet.value == "")
{app.alert({cMsg:"Merci de renseigner les champs \"Date du jour\", \"Cadreur\", \"Journaliste\" et \"Projet\" avant d\'enregistrer ce document.", nIcon:2, cTitle:MonTitre});}
else
{
var strFixe = MonTitre + "_";
var strNom = ChEnrgNom.value;
var strPrenom = ChEnrgPrenom.value;
var strProjet = ChEnrgProjet.value;
var strNum = ChEnrgDate.value
if (app.language == "FRA")
{var strTitre = strFixe + "_Enregistrement";
var strQuestion = "COPIEZ le nom propos\u00E9 ci-dessous et COLLEZ le dans la fen\u00EAtre suivante pour l'utiliser comme nom de fichier \(merci de respecter cette syntaxe qui nous facilite la gestion\) :";
}
else
{var strTitre = strFixe + "_SaveAs";
var strQuestion = "COPY below proposed text and PASTE it in the following box to use it as file name:";
}
var strDisplay = strNum + "_" + strProjet + "_" + strNom + "_" + strPrenom + strFixe;
var saveRep = app.response({cQuestion: strQuestion, cTitle: MonTitre, cDefault: strDisplay,});
if (saveRep != null)
{
for (var i=0; i<this.numFields; i++)
      {
      var fname = this.getNthFieldName(i);
      var f = this.getField(fname);
      f.readonly = true;
      }
app.execMenuItem("SaveAs");
}
}

Mais Antonin TCP !
insérez moi s'il vous plait dans le code ce lien (C:\Users\DJAMEL\Documents\ALG-BLANC\le nomdocument.fdf) vers lequel je pourrai exporter les données de mon formulaire.
je ne veux pas l'enregistrer autant que document Pdf comme il est mentionner sur le code que vous avez donné, mais plus tôt comme fichier fdf.
voila j'espère que vous m'avez compris.

  • Sorcier
  • Messages: 25
 :Euuuh:
Je ne comprend ni votre message ni la raison pour laquelle vous ne faites pas un nouveau sujet ;).

  • Sorcier
  • Messages: 49
ok
je recommence  :bonjour: