Exportation d'un formulaire en PDF non modifiable. - RÉSOLU  (Lu 20076 fois) Partager ce sujet Imprimer

1 B


tofteuf  25 août 2015 : 17:32

Bonjour,
vu !!!!
J'en ai profité pour transférer le script du document sur un clic de cellule obligatoire à remplir, du coup le verrouillage des champs à l'enregistrement fonctionne à la perfection ! Je me lance dans un autre formulaire du coup ...
Merci pour votre aide  :bravo:

IP archivée


Merlin  20 août 2015 : 18:21

Bonjour.

Ouvre ton formulaire dans Acrobat : JavaScript : Tous les scripts JavaScript.
Copie et colle l'intégralité des scripts du document dans ton éditeur de texte/script préféré et fait une recherche sur "f."

Tu constateras que la variable f est utilisée 3 fois dans 3 scripts différents, et que par 2 fois elle fait appel à des champs différents…
 :oh:  :Smiley01:

IP archivée


tofteuf  19 août 2015 : 18:18

Bonjour à tous,
de retour en arrière sur mon projet je n'arrive décidément à combiner le verrouillage des champs et la fonctionnalité enregistrer sous.
J'appelle à l'aide, la fonctionnalité de verrouillage des champs à l'enregistrement ne fonctionne plus, je ne vois pas trop pourquoi...
La console répète inlassablement que f is null, je désespère pas mal !
Si quelqu'un a un tuyau et un peu de temps pour m'aiguiller,merci par avance

IP archivée


tofteuf  07 avril 2015 : 17:50

Bonsoir à tous, après quelques semaines où j'ai dû laissé mon formulaire de côté ...
je voulais dire que j'ai rajouté du code pour améliorer mon formulaire, la création du nom du fichier pour l'enregistrer sous avec le bouton "pdf" du formulaire.
Et du coup je perd le verrouillage de mes champs d'horodatage que j'avais auparavant  :Ooops: .
L'objectif est également de tester un certain nombre de champs pour éviter que les gens m'envoient un fichier qui ne contiendrait pas les champs essentiels correctement complétés !
ET bien entendu de cumuler toutes ces fonctionnalités !

IP archivée


Merlin  17 mars 2015 : 00:13

Ce que je te demande c'est quelle est "cette option" : quels sont les paramètres de protection utilisés ?

Scuse, je n'avais pas vu la première capture d'écran (invisible sur mon portable).


Citer
On dirait que la protection affecte aussi la pièce jointe

En fait je ne peux pas vraiment répondre, il faudrait voir le document…

IP archivée


club3dtext  16 mars 2015 : 15:55

Quand j'active cette option la pièce jointe qui est dans ne s'ouvre pas en cliquant sur le bouton. On dirait que la protection affection aussi la pièce jointe je veux proteger mon document et je veux que la pièce jointe qui s'y trouve soit accessible aussi y a t'il un moyen de solutionner ça. Voir le fichier joint.

IP archivée


Merlin  13 mars 2015 : 12:33

j'ai compilé avec le code pour nommer le fichier à "l'enregistrer sous"

Qu'est-ce que ça veut dire ?
 :Euuuh:

IP archivée


Merlin  13 mars 2015 : 12:32

Ce je veux dir par là en activant cette option je ne peux pas ouvrir un lien avec le bouton.

J'ai bien compris.
Ce que je te demande c'est quelle est "cette option" : quels sont les paramètres de protection utilisés ?

IP archivée


tofteuf  12 mars 2015 : 17:00

Bonsoir,
j'ai compilé avec le code pour nommer le fichier à "l'enregistrer sous", du coup, je perd le verrouillage des champs et notamment mes deux horodatages  :doute:

IP archivée


club3dtext  12 mars 2015 : 13:59

Ce je veux dir par là en activant cette option je ne peux pas ouvrir un lien avec le bouton. Y a-t'il un autre moyen.

IP archivée


tofteuf  12 mars 2015 : 12:57

Bonjour à tous,
voici mon formulaire, en l'état, encore des choses à peaufiner... :jerisjaune: prénommer mon fichier pour l'enregistrement "Commande + Text2"...

IP archivée


Merlin  11 mars 2015 : 20:12

Qu'appelles tu "la securité du document" ?
Ca consiste en quoi exactement ?

IP archivée


club3dtext  11 mars 2015 : 12:36

Alors là qu'est-ce que je dois faire en ce sens. Parce que sans la securité du document le lien s'ouvre sans problème mais une fois securisé ça ne s'ouvre plus. Ne peut-on pas contourner ça pour avoir le document protéger et une possibilité d'ouvrir le lien qui est dans le document protégé.

IP archivée


Merlin  11 mars 2015 : 00:36

toute fois j'ai un bouton pour ouvrir un lien et le lien est bien présent dans le document ca refuse de s'ouvrir  :Euuuh:

Il faut que bouton fasse appel à une fonction crée par script de niveau application.
Ca ne peut pas fonctionner directement depuis un script de niveau document.

IP archivée


club3dtext  10 mars 2015 : 19:12

Je dois signaler que moi aussi de mon coté j'avance à petit pas et j'aimerais si possible avoir un exemple de ton travail tofteuf, mais cela n'empêche pas que j'ai un souci avec un lien dans mon travail. Quand j'active la securité du document dans Document propriété, toute fois j'ai un bouton pour ouvrir un lien et le lien est bien présent dans le document ca refuse de s'ouvrir  :Euuuh:
Quelqu'un peu m'aider svp :priere:

IP archivée


tofteuf  10 mars 2015 : 17:37

 :extra: Parfait cher Merlin,
merci pour ton aide précieuse, j'avance à petits pas dans l'optimisation de mon formulaire ! :bravo:

IP archivée


Merlin  09 mars 2015 : 18:47

var f = this.getField("NOM-DU-CHAMP");
if (f.readonly == false)
{
// script à exécuter
};

IP archivée


tofteuf  09 mars 2015 : 16:51

 :Ooops: Vais fouiller en ce sens !

IP archivée


Merlin  09 mars 2015 : 16:16

Tu m'indiques donc qu'il n'est pas possible de figer ces 2 champs

Je n'ai jamais dit ça…
Il suffit de protéger le script en détectant l'état du champ :
- Si champ verrouillé : il ne se passe rien.
- Sinon : OK, on exécute le script.

En plus dans ton cas il suffit de tester un seul champ puisqu'ils sont tous au même régime.

 :Smiley03:

IP archivée


tofteuf  09 mars 2015 : 15:18

Oups,
j'ai oublié de copier le champ "text 6" dans mon fichier test, mais il existe bel et bien dans mon original !
Tu m'indiques donc qu'il n'est pas possible de figer ces 2 champs, je vais me rabattre sur un mode opératoire plus contraignant à savoir, impression via pdf creator et envoi du fichier par mail, en perdant certainement mes possibilités de pièce jointe... Moi qui rêvais d'automatiser tout çà !
Encore merci pour l'aide cher Merlin  :bonjour:

IP archivée


Merlin  09 mars 2015 : 13:29

Bonjour,


- Verrouiller un champ interdit à l'utilisateur de le modifier, mais son contenu reste modifiable via des scripts ou des actions (calculs principalement).
 :idee:

- il faudrait vraiment que tu te décides à utiliser la Console : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/
(Voir capture jointe)
 :priere:


PS : "null" veut dire "inexistant", et non pas "nul".
:jerisjaune:

IP archivée


tofteuf  09 mars 2015 : 12:45

Bonjour et merci de ta réactivité Merlin,
j'ai certainement manqué un truc, je te joins un fichier test, lorsque j'enregistre le fichier pour figer les champs, l'horodatage n'est pas fixé,
à l'ouverture une minute après l'heure se remet à jour ! ce qui ne m'arrange pas du tout  :doute: ...

IP archivée


Merlin  06 mars 2015 : 20:13


IP archivée


tofteuf  06 mars 2015 : 17:38

Bonjour à tous,
nouveau sur le forum, j'ai trouvé de l'information pour mon formulaire dynamique, mon souci est que les script donné rempli parfaitement son office de figer tous les champs sauf deux de mon formulaire pour lesquels s’exécutent un horodatage en script à l'ouverture du document.
Je souhaiterais que le bouton fige aussi ces deux champs...
Merci vos retours, amicalement, Christophe !

IP archivée


brumbies  26 février 2015 : 11:38

Bonjour,
De mon côté j'ai tester avec Arcobat pro XI => ça fonctionne
avec adobe Reader XI => ça ne fonctionne pas, quand tu rouvres le fichier (puisqu'il est censé ce fermer automatiquement) les popup menu accessibles via les champs "Désignation" sont disponibles.

Une alternative est d'utiliser un champs text non visible (Text6 dans l'exemple joint) à l'écran et de lui affecter la valeur 0 initialement.
Une fois les champs mis en lecture seul, on affecte la valeur 1 au champs "Text6" (je l'ai mis au niveau du bouton Save As).
J'ai modifié légèrement les scripts présents dans les champs "Désignation" pour que le popup menu ne s'affiche que si la valeur de "text6" est 0.

L'erreur en ligne 20 du bouton Sauvegarder vient du fait que l'on appelle une pièce jointe mais qu'aucune pièce jointe n'est présente, ce qui vient surement du fait que le fichier a été retravaillé pour être posté ....

 :Smiley01:

IP archivée


Merlin  25 février 2015 : 17:35

Acrobat XI

IP archivée


club3dtext  25 février 2015 : 15:51

J'utilise Adobe Acrobat Pro et ça ne marche pas de mon coté, les champs PupUp Menu ne se bloquent pas. Vous utilisez quel Acrobat pour que cele puisse fonctionnner de votre coté?

IP archivée


Merlin  24 février 2015 : 19:48

- Pour moi ça fonctionne très bien.
Regarde dans le ci-joint que j'ai enregistré-sous en utilisant le bouton.

- Par-contre la Console persiste : il y a un problème sur la ligne 20, apparement un appel à champ dont le nom n'est pas correct :
TypeError: Type d'argument incorrect.
Doc.exportDataObject:20:Field Sauvegarder:Mouse Up
 ===> Paramètre cName.

- Il vaut mieux placer les scripts de menus déroulants en action "Souris Enfoncée", ça évite le temps de latence dans le remplissage du champ.

 :Smiley01:

IP archivée


club3dtext  24 février 2015 : 19:03

Ok, j'ai bien compris, mais pourtant mon grand probleme pour l'instant c'est que je n'arrive pas bloquer les champs popUpMenu, si vous pouvez bien panchez sur mon cas ça fera du bien pour votre aide, encore merci de vos soutiens antérieurs. Dans le même fichier doc-demo-OK modifier en cliquant sur SaveAs les champs popUpMenu ne se bloquent pas.

IP archivée


Merlin  24 février 2015 : 14:53

Je ne comprend pas ce qui doit se passer ni ce qui ne va pas mais tu devrais t'intéresser à la Console, qui renvoie des messages d'erreurs.
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/console-javascript-d-acrobat/

 :idee:

IP archivée


club3dtext  24 février 2015 : 13:52

En sauvegardant le fichier doc-demo-OK modifier sous un autre nom bloque tous les champs Menu déroulant, PopUp Menu et autres, se ferme et s'ouvre automatiquement sur le même nom en pièce jointe dans le fichier doc-demo-OK modifier.

J'ai ajouté le fichier Proforma Facture2 dans le fichier doc-demo-OK pour alleger le poid de mon fichier.

IP archivée


Merlin  23 février 2015 : 22:12


IP archivée


club3dtext  23 février 2015 : 22:10

J'ai essayé de vous envoyez le fichier joint on m'a dit que le fichier est trop lourd.

IP archivée


Merlin  23 février 2015 : 20:16

Ca devrait pourtant…
 :Euuuh:

IP archivée


club3dtext  23 février 2015 : 18:30

La question est si on veut bloquer un champ PopUp Menu, est-ce qu'il y a un script pour faire cela. J'ai utilisé ce script :

//Masquer le bouton
event.target.display = display.hidden;
this.getField("Rosso").display = display.hidden;
//Verrouiller tous les champs
for (var i=0; i<this.numFields; i++) {
   var fname = this.getNthFieldName(i);
   var f = this.getField(fname);
   f.readonly = true;
}
// Enregistrer
app.execMenuItem("SaveAs");

pour bloquer plusieurs champs mais les champs PopUp Menu ne sont pas bloqués.

IP archivée


Merlin  20 février 2015 : 21:28

Vous pouvez répéter la question ???

 :doute:  :oh:

IP archivée


club3dtext  20 février 2015 : 18:24

1- On utilise la Convention de dénomination des champs de formulaire pour se simplifier la vie : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/

2- On ajoute cette ligne de script :
this.getField("Rosso").display = display.hidden;

Ce qui nous donne :

//Masquer le bouton
event.target.display = display.hidden;
this.getField("Rosso").display = display.hidden;[/font]
//Verrouiller tous les champs
for (var i=0; i<this.numFields; i++) {
   var fname = this.getNthFieldName(i);
   var f = this.getField(fname);
   f.readonly = true;
}
// Enregistrer
app.execMenuItem("SaveAs");


Exemple ci-joint.
 :Smiley03:

Bien le boujour à vous, sur cette question je voulais savoir si on a un champ PopUp Menu ou menu déroulant quel script doit-on avoir pour le bloquer?

IP archivée


daninet  09 octobre 2013 : 09:19

 :bravo:
je vous remercie beaucoup

IP archivée


Merlin  08 octobre 2013 : 20:09

Citer
(à l'exception du "enregistrer sous" qui devient un "enregistrer")

Houla, ça c'est grave et potentiellement dangereux pour l'utilisateur…
Il serait temps que les mobiles se préoccupent de sécurité, ceux d'Apple en particulier.
 :Smiley01:

IP archivée


Merlin  08 octobre 2013 : 20:02

Citer
comment puis-je masquer les boutons rouges?

1- On utilise la Convention de dénomination des champs de formulaire pour se simplifier la vie : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/

2- On ajoute cette ligne de script :
this.getField("Rosso").display = display.hidden;

Ce qui nous donne :

//Masquer le bouton
event.target.display = display.hidden;
this.getField("Rosso").display = display.hidden;
//Verrouiller tous les champs
for (var i=0; i<this.numFields; i++) {
   var fname = this.getNthFieldName(i);
   var f = this.getField(fname);
   f.readonly = true;
}
// Enregistrer
app.execMenuItem("SaveAs");


Exemple ci-joint.
 :Smiley03:

IP archivée


Cri-cri  08 octobre 2013 : 17:14

Bonjour, je reviens sur ce post, car le bouton fonctionne très bien (merci encore) sur PC, mais pas sur tablette tactile. Existerait il une solution pour faire pareil sur tablette ? car les medecins utilise la plus part du temps des tablettes pour remplir les pdf.

Merci

Non, hélas…
C'est quand ils veulent pour les mobiles.
 :priere:

Cela ne fonctionne pas avec Adobe Reader Mobile, mais par contre, cela fonctionne très bien (à l'exception du "enregistrer sous" qui devient un "enregistrer") avec PDF Expert.
Je suis toujours assez bluffé avec cet outil :)

iPhone : https://itunes.apple.com/fr/app/pdf-expert-professional-pdf/id323133888?mt=8
iPad : https://itunes.apple.com/fr/app/pdf-expert-fill-forms-annotate/id393316844?mt=8

IP archivée


daninet  08 octobre 2013 : 16:11

pour comprendre
pdf, je vous envoie une démo,
comment puis-je masquer les boutons rouges?


IP archivée


Merlin  01 octobre 2013 : 18:55

Non, hélas…
C'est quand ils veulent pour les mobiles.
 :priere:

IP archivée


heiwa  01 octobre 2013 : 18:20

Bonjour, je reviens sur ce post, car le bouton fonctionne très bien (merci encore) sur PC, mais pas sur tablette tactile. Existerait il une solution pour faire pareil sur tablette ? car les medecins utilise la plus part du temps des tablettes pour remplir les pdf.

Merci

IP archivée


heiwa  19 septembre 2013 : 15:07

Un très grand merci, ça marche nickel. En espérant que ce post puisse servir à d'autres personnes.

Cédric

IP archivée


Merlin  18 septembre 2013 : 19:22

Je ne peux pas télécharger ton doc, je suis dans un hôtel à débit WiFi anémique…

Ci-dessous le JavaScript à placer dans le bouton :

//Masquer le bouton
event.target.display = display.hidden;

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

// Enregistrer
app.execMenuItem("SaveAs");


 :Smiley01:

IP archivée


heiwa  18 septembre 2013 : 08:16

Bonjour,
oui j'ai Acrobat.

Voici donc le PDF en question..

Merci


IP archivée


Merlin  17 septembre 2013 : 20:05

Sur ce bouton serait il possible de mettre deux actions : la 1ere verouiller les champs  - la 2e enregistrer le document.

Salut,

Trop facile !
On n'a même pas besoin de dissimuler le bouton en question, il suffit de le faire disparaître après utilisation.

Par-contre : il est possible de faire fonctionner tout ça avec Reader pour l'utilisateur, mais il faut impérativement que le concepteur du formulaire (donc toi) soit équipé d'Acrobat…
On continue ?

Si oui, merci de poster une maquette/exemple avec quelques champs car en ce moment je n'ai pas beaucoup de temps.

 :Smiley15:

IP archivée


heiwa  17 septembre 2013 : 15:58

Salut,

j'ai déja fait des recherches sur le forum et sur mon ami google, mais je n'ai rien trouvé. A moins que je n'ai rien compris. Je préfère moi aussi trouver par mes propres moyen plutôt que d'importuner les internautes. Mais là j'avoue que je sèche.

Ma recherche sur "verrouiller" sur le forum n'a pas donné grande satisfaction.

Merci

IP archivée


LionelMacBruSoft  17 septembre 2013 : 12:24

Bonjour,

Faire une recherche sur le forum (ce thème a déjà été traité).

Lionel :alien2:

IP archivée


heiwa  17 septembre 2013 : 10:21

Bonjour,

Citer
Voilà, tout à fait. Un bouton discret, invisible (seul le médecin sait au il se trouve. Exemple : tout en haut à gauche du formulaire).

Sur ce bouton serait il possible de mettre deux actions : la 1ere verouiller les champs  - la 2e enregistrer le document.

Si oui comment faire pour verrouiller les champs sur un bouton ?

Cédric

IP archivée


LionelMacBruSoft  16 septembre 2013 : 23:28

Bonsoir,

D'apres votre idée, on remplirais les champs texte, puis on cliquerais sur un bouton qui verrouillerait les champs. Ensuite on enregistre le document. C'est ça ?
Voilà, tout à fait. Un bouton discret, invisible (seul le médecin sait au il se trouve. Exemple : tout en haut à gauche du formulaire).

Lionel :alien2:

IP archivée


heiwa  16 septembre 2013 : 22:01

Merci pour votre réponse.

En fait ce ne sont que des champs textes. C'est un formulaire pour un médecin qui doit remplir des champs texte ( nom du praticien, actes, remarque) et qui doit l'envoyer au patient. Donc le pdf vu par le patient doit être un pdf "normal", non modifiable.

J'ai fait une recherche sur le forum et sur google, mais je n'ai rien trouvé concernant ce sujet qui me paraît assez simple. Je pense que je ne suis pas le seul à mettre posé la question ?

D'apres votre idée, on remplirais les champs texte, puis on cliquerais sur un bouton qui verrouillerait les champs. Ensuite on enregistre le document. C'est ça ?

Merci

IP archivée


LionelMacBruSoft  16 septembre 2013 : 18:55

Bonjour,

Tout d'abord bienvenue sur le forum.

Tout dépend du contenu du formulaire.
Pour des champs de texte : on peut les verrouiller par un discret bouton caché (chose déjà vue sur le forum; une recherche est toujours à faire avant la création d'un nouveau sujet).

Le mieux serait de joindre ce formulaire.

Bien cordialement.
Lionel :alien2:

IP archivée


heiwa  16 septembre 2013 : 17:38

Bonjour à tous,

J'ai créé un formulaire PDF. Je l'ouvre sur le Reader et je remplis les champs.

Mais je souhaiterais pouvoir l'exporter ou l'enregistrer en PDF simple, c'est à dire non modifiable par les personnes à qui je l'envoie.

Je n'arrive pas à trouver la solution, je m'en remet donc à vos expériences.

Un grand merci.


IP archivée