Toutes mes réponses sur les forums
-
AuteurRéponses
-
24 février 2015 à 13:12 en réponse à : Limite de l’éditeur de code interne, besoin de conseil :) #58508rattlesnakeMembre
Merci pour cette bande annonce ^^
C’est un film comique donc :bravo:24 février 2015 à 08:45 en réponse à : Limite de l’éditeur de code interne, besoin de conseil :) #58506rattlesnakeMembreHaha ça c’est un smiley qui n’augure rien de bon ! :joker:
Si tu savais ce qui nous attend…
:oh:23 février 2015 à 19:35 en réponse à : Limite de l’éditeur de code interne, besoin de conseil :) #58504rattlesnakeMembreBonsoir et merci pour ta réponse Merlin !
Ils ont du boulot à faire pour la prochaine version… entre l’editeur préhistorique et les polices un-supprimables ^^
23 février 2015 à 15:32 en réponse à : Limite de l’éditeur de code interne, besoin de conseil :) #58502rattlesnakeMembreLa maquette est toute simple
– Tu sélectionne en Editeur Externe PSPad par exemple :
Fichier/Préférences/Javascript/utiliser un éditeur Javascript Externe– Tu rajoutes un textField avec un script de calcul personnalisé :
event.value = “?????????”; // J’ai tapé n’importe quoi car je comprends par l’arabe ^^Edit : Apperement les caractères ne passent pas non plus sur le forum, tu peux en copier là par ex :
http://www.noteno.org/arabic/index463488560.html=> Des points interrogations vont s’incrirent à la place de l’arabe.
Merci pour ton aide !
23 février 2015 à 14:49 en réponse à : Limite de l’éditeur de code interne, besoin de conseil :) #58500rattlesnakeMembreMerci pour ta réponse brumbies !
Effectivement quand j’utilise de manière classique PSPad, notepad ++… les caractères s’affichent bien.
Cependant quand je demande à Acrobat d’utiliser PSPad en tant qu’editeur par défaut, c’est là que les caractères arabes foutent le camp.
Acrobat doit les lancer d’une certaine manière qui fait tout foirer.En effet, je suis en train d’essayer de diviser mon script en plusieurs fonctions mais ça commence à être le bordel ^^
rattlesnakeMembreContrairement à ce qui est écrit dans le sujet que tu as mis en lien le “copier-coller sur place” existe depuis Acrobat XI, il faut appuyer la touche majuscule quand on demande menu Edition : Coller.
Et pour créer un nouveau document vierge il n’y a pas mieux que les abracadabraTools !
:Smiley15:
Merci pour l’astuce
rattlesnakeMembreMerci pour ta réponse Merlin !
Owww en testant dans tous les sens, j’ai peut être trouvé une solution toute bête.
Je voulais exporter les pages du formulaire pour repartir sur des bases saines…
J’ai donc fais Vignettes de page/Extraire des pages (toutes les pages).Et la magie… il m’a crée un nouveau formulaire identique avec tous les champs et le code
=> sauf que le poids à été divisé par 5 => 1 mo!Et en l’exportant de manière optimisée je tombe à 500 ko o/
A priori rien n’a été corrompu au passage.
Fait étonnant, la dizaine de police est cependant toujours présente dans les propriétés du doc (Mais ne doivent plus exister réellement).Si cela peut aider quelqu’un
rattlesnakeMembreOui, mais en même temps ça va la ralentir…
:geek:Oui c’est sûr ^^. Mais je pense que ça peut être la solution la moins pire dans le cas présent
rattlesnakeMembrePour les actions similaires, je fais appel à une fonction unique se trouvant dans : “Scripts javascripts du document” afin de limiter le nombre de script au max justement .
En soi je crois que le plus lourd à charger reste l’apparition des champs eux-même (des tableaux constitués par des champs texte). Le calcul qui s’applique se réalise plutôt rapidement.C’est pour ça que la méthode de brumbies consistant à incrémenter une var à l’apparition de chaque champs me parait sympa pour mesurer l’état d’avancement de construction du document
Je vous remercie d’avoir pris le temps de vous pencher sur mon problème !
Seb
rattlesnakeMembreJe ne cerne pas bien l’utilité… car si tu utilises l’objet thermometre, le script compris à l’intérieur sera entièrement exécuté avant fermeture du thermomètre.
Cependant, tu peux ajouter en bas de script un message d’alert app.alert(“xxx”); (ou d’info…) une fois l’ensemble de ton code exécuté (et donc que tes champs sont chargés).
Sinon, tu peux également intégrer un compteur qui vient s’incrémenter de 1 à chaque fois q’un champs est chargé. Et en fin de script il suffira de contrôler que le nombre de champs chargés est = aux nombres de champs attendus…Yep, le truc c’est que j’ai une myriade de champs et de petit scripts éparpillés par-ci par là. Je n’ai pas un seul script global qui gère ça :mur:
Il y a aussi autre chose, je n’ai pas acces à la partie “modifier tous les scripts du document” car il y a trop de code et l’editeur d’acrobat ne se lance pas.
Et je ne peux pas non plus choisir de l’ouvrir avec un editeur externe type notepad ++ car cela me fait foirer mes var contenant de l’arabe (nécessaire pour le client).L’idée d’incrémenter une var au fur et à mesure de la naissance des champs me parait pas mal !
C’est ce que fait le script de brumbies, le thermomètre s’arrête quand c’est fini.
Par-contre si c’est ce que tu veux dire, la durée réelle n’est pas prévisible ni prédictible. Il suffit de pas grand-chose pour ralentir un ordi (relève programmée des emails, tâche de fond qui se réveille, etc.).
:Smiley01:C’est ce que je voulais savoir. Un code du genre :
Code:var t = app.thermometer;// Acquire a thermometer object
t.duration = this.numPages;
t.text = “Chargement en cours”;
t.begin();while ( documentIsLoading() )
{
// do nothing
}t.end();
M’aurais bien arrangé
rattlesnakeMembreWouaw merci infiniment brumbies !!!
Ça va m’être très utile :extra:Edit : Je suppose qu’il n’existe pas de fonction magique permettant de savoir si tous les champs ont fini de s’afficher dans le doc ?
@Merlin : Très bonne idée de ta part concernant l’amélioration du titre pour le référencement
22 octobre 2014 à 17:15 en réponse à : Batch pour exporter les données provenant de plusieurs formulaires #57801rattlesnakeMembreMerci pour ton retour Merlin,
C’est effectivement une bouteille à la mer que je lance.Si quelqu’un avait des infos sur le sujet, merci à lui :Smiley08:
20 octobre 2014 à 08:00 en réponse à : Calculer le numero d’une semaine depuis septembre et non janvier #57777rattlesnakeMembreMerci Merlin, je n’ai pas noté de problème, tout me semble opérationnel
Tu m’as sauvé :geek:
18 octobre 2014 à 13:15 en réponse à : Calculer le numero d’une semaine depuis septembre et non janvier #57775rattlesnakeMembreMmmh bien joué a premiere vue cela semble fonctionner comme ceci :
A ton avis il ne devrait pas y avoir de soucis de “glissement” de semaine du fait de la longueur des mois, du changement d’année etc ?
(Je ferai quelques tests en rentrant ce soir)Code:var week = (getWeek(oDate1,0))-35; // C’était -35 et pas -37
//app.alert(week);if (week > 0)
{
event.value = week;
}else
{
event.value = week+35+18; // Si on ajoute seulement 35, on repart à 1. Il faut donc rajouter encore 18
}18 octobre 2014 à 12:17 en réponse à : Scripts pour faire une liste avec valeur d’Exportation #57695rattlesnakeMembreIl est fantastique ce Merlin !
Je note précieusement l’info18 octobre 2014 à 12:16 en réponse à : Calculer le numero d’une semaine depuis septembre et non janvier #57773rattlesnakeMembreMerci de ta réponse Merlin.
Malheuresement ça serait trop facile ^^
Admettons que je fasse :
event.value = (getWeek(oDate1,0)) -37; // 37 correspond au nombre de semaines qui séparent le 01/01 du 01/09Ca fonctionne bien jusqu’a Decembre. Mais forcément en janvier, je part avec une semaine -36 au lieu d’une semaine 17
Les manipulations de date c’est pas evident :mur:
17 octobre 2014 à 15:22 en réponse à : Scripts pour faire une liste avec valeur d’Exportation #57693rattlesnakeMembreAh oui, j’ai eu un soucis dans le genre dernièrement aussi…
Si je me trompe pas, lors de la conversion d’un int en String, le javascript enleve le premier 0.
Ex pour : 07025 il le convertit en “7025”Moi j’avais fais le bourrin en forçant ce genre de conversion mais y’a surement bcp plus propre ?
if (data[8][0]==”7025″)
{
data[8][0]=”07025″;
}En esperant qu’il y ait une meilleure manière de procéder !
rattlesnakeMembreN’as tu pas trouvé comment faire ça avec JavaScript dans ces ressources ? : http://abracadabrapdf.net/forum/index.php/topic,2545.msg13667.html#msg13667
Yes, je vais y rejeter un coup d’oeil
rattlesnakeMembreMerci pour ta réponse éclair Merlin :bonjour:
Yes je comprends le soucis, c’est dommage qu’ils aient fait le format RTL dépendant des réglages de l’utilisateur
En gros pour t’expliquer, je genere un tableau avec des textFields pret remplis depuis une base de données…
Pour le client il faut également une génération en Arabe et ça marche presque partout mais par endroit le saut de ligne ne se fait pas correctement et je dois alors corriger le probleme manuellement.
Le faire par code aurait été bien plus simple… tant pis et merci d’avoir pris le temps de te pencher sur mon probleme :joker:13 octobre 2014 à 09:18 en réponse à : Ne pas afficher le petit "+" lorsque le champ est trop petit #57745rattlesnakeMembre[mode je viens de prendre un coup sur la tête]
Euuhhh… C’est documenté où ce genre de chose très intéressante ?
[/mode je viens de prendre un coup sur la tête]:geek:
Haha wouaw c’est un honneur d’avoir pu apprendre un petit quelque chose à un des rois du PDF
10 octobre 2014 à 16:27 en réponse à : Ne pas afficher le petit "+" lorsque le champ est trop petit #57739rattlesnakeMembreHey bendegard,
Quand tu as beaucoup de conditions, tu peux passer par un Switch au lieu des if/else. C’est plus rapide est plus simple :
switch (menu31)
{
case “M Demande d’un pays étranger”:
w.value=”M”
break;case “A Demande d un SPM”:
w.value=”A”
break;//etc
}Bonne chance dans ton code
rattlesnakeMembreGenial ! merci Merlin, je vais y jeter un gros coup d’oeil
14 mars 2014 à 07:51 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56795rattlesnakeMembreYes vraiment génial Alex !
C’est plus propre que ma méthode à l’arrache, je te remercie beaucoup d’avoir pris le temps de faire cette nouvelle maquette
11 mars 2014 à 21:45 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56793rattlesnakeMembreMerci pour ton pdf Alex,
Malheureusement à chaque redémarrage du fichier et malgré les sauvegardes, les menus déroulants se mettent automtiquement sur “Nom complet FR 25”, sans conserver dernières valeurs.
Et c’est là ou est tout mon soucis
6 mars 2014 à 10:41 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56791rattlesnakeMembreMerci pour ton intervention Alex !
Qu’est ce que tu préconiserais du coup, ça t’embeterai de re-publier le PDF a ta manière ?
Dans la dernière version que vous aviez fait ensemble sur l’autre topic, malheuresement les listes déroulantes étaient reinitialisées à chaque démarrage :
http://abracadabrapdf.net/forum/index.php?action=dlattach;topic=2228.0;attach=1407Concernant mes dernières modifications (dernier pdf que j’ai posté)
http://dl.free.fr/q9NtCwqauj’ai trouvé une parade qui fonctionne en bidouillant à la mano:
une fois que les listes déroulantes sont bien importées, j’édite la fonction xinitialisation() ;En commentant tout simplement les lignes :
//configComboBox();(Car elles me ré-écrasaient les listes déroulantes à chaque fois.)
mais je suis preneur pour une solution plus viable et sans retouches
5 mars 2014 à 21:54 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56787rattlesnakeMembreCa fait 2 fois aujourd’hui, dans 2 sujets.
Je crois que je vais bientôt me fendre d’un petit article…MDR !!! effectivement
Pour le document PDF, je viens de le tester sur mon perso avec le reader XI et j’ai toujours ce même bug
Je pense que j’ai du mal expliquer le probleme.Ca sera sans doute d’avantage visible avec ce fichier ou il y a 2 menus déroulants :
http://dl.free.fr/q9NtCwqau– Fais une sélection avec le premier menu ex : Nom complet FR 13
– Fais une selection avec le deuxieme menu (et la… bim, le premier menu déroulant et passé de Nom complet FR 13 à Nom complet FR 25)C’est à cause de la fonction configComboBox qui réinitialise a chaque fois le contenu des menu deroulants si je me trompe pas
Et si chez toi ça ne fais pas le bug… Je crois que je ferai une petite vidéo arf ^^
5 mars 2014 à 13:40 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56783rattlesnakeMembreBen… Ca à l’air correct… Du coup je ne comprend plus bien la question…
Cette technique fonctionne mais il y a un petit bug qui peut être embettant.
Essaye la demarche suivante :
– Choisis par ex la value “Nom complet FR 3” dans la liste déroulante.
– Clique un coup sur le fond blanc de la page
– re-selectionne le menu déroulant… et la, au lieu de selectionner la value “Nom complet FR 3”, il te selectionne la dernière valeur :”Nom complet FR 25″…C’est ce petit bug que j’aimerais pouvoir corriger
Edit : merci pour l’astuce de la console
5 mars 2014 à 13:00 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56781rattlesnakeMembreyes voici le fichier avec la deuxième méthode :
propriété de la liste déroulante/Actions
Déclencheur => champ activé
Selectionner l’action : executer un script javascriptCode:xinitialisation();Et du coup au sein du code de la fonction xinitialisation() j’ai commenté la dernière ligne :
Code://xinitialisation(); // (on commente la ligne car empêche la sauvegarde de la selection)5 mars 2014 à 09:12 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56779rattlesnakeMembreArf nan….
Pourrais tu m’aider sur un soucis d’optimisation/de vitesse de lecture ? (c’est vraiment le dernier soucis)En fonction du lieu ou je lance la fonction xinitialisation() sur le menu déroulant j’ai 2 résultats différents :
Si le lance depuis : propriété de la liste déroulante/Validation/Executer le script de validation personnalisé, tout fonctionne parfaitement, mais je perds un gros gain de vitesse (environ 5 secondes de chargement, comme s’il lançait un calcul en boucle).
(voir fichier : http://dl.free.fr/i7qq8j0YB)Si par contre je fais appel à elle depuis propriété de la liste déroulante/Actions
Déclencheur => souris relachée
Selectionner l’action : executer un script javascriptAlors la requete du menu se fait de manière instantané, mais il y a un petit bug si:
– je choisis un element de la liste
– Je clique n’importe ou sur la page vierge de mon formulaire (pour desactiver la selection du champs)
– je re-selectionne le menu déroulant
=> (Alors le dernier champs de la liste du menu se selectionne automatiquement à la place de la derniere valeur selectionnée et de plus le champs de résultat ne change pas car pas de clique de souris. Ce qui me pose pb car l’utilisateur peut faire une mauvaise manipulation). EDIT : cela se produit à cause la fonction configComboBox(); appelée par la fonction xinitialisationJe sais que j’abuse, mais aurais tu le temps de jeter un coup d’œil au code ?
5 mars 2014 à 08:10 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56778rattlesnakeMembreA yes merci merlin, grâce à toi une affaire de plus de classée
4 mars 2014 à 14:53 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56776rattlesnakeMembreJuste une petite question Bonus :
J’aimerais pouvoir masquer la toolbar des pièces jointes qui s’ouvre automatiquement au démarrage du document.
Cela est-il possible par code ?Sinon j’ai trouvé un pdf d’alex qui fait cela, mais je n’arrive pas à trouver le code ou les options d’exportations
http://abracadabrapdf.net/forum/index.php?action=dlattach;topic=2107.0;attach=11994 mars 2014 à 14:22 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56775rattlesnakeMembreC’est à dire de mettre un bouton exécutant la fonction xinitialisation() seulement au clique?
Je viens de faire un test… ca fonctionne mais je trouve que ce n’est pas top pour l’utilisateur.
Il n’y a pas moyen de faire une condition dans le script xinitialisation qui définit qu’au démarrage, le menu déroulant reprend la value de la session précédente, et que si on change manuellement sa valeur, alors on relance l’importation de la base de données ?
Je sais pas si je suis clair ^^ En tout cas je continue de tester de mon coté, mais je ne suis pas très familier avec le codeEDIT : A mais je suis bête, il suffit de lancer la fonction xinitialisation seulement au clique du menu déroulant !!!! Ca à l’air de fonctionner niquel
4 mars 2014 à 11:33 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56773rattlesnakeMembreMerci pour ta réponse merlin.
Mais l’utilisateur final n’aura pas accès à la console.
Serait-il possible de ne lancer ce script d’initialisation qu’une seule fois au lancement puis de charger des variables globales de sauvegarde ?
Je n’ai pas reussi à le faire car si je le fais, je ne peux plus charger les données avec mon menu déroulantPS : merci pour l’explication du poids du document
3 mars 2014 à 21:31 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56771rattlesnakeMembreCa c’est trop sympa Merlin !!!
La voici, elle est simplissime j’ai tout viré mis à part ce qui nous interesse ^^
Donc sur la première page il y a la liste déroulante, et sur la deuxieme, il y a le champ qui récupéré la cellule qui m’interessemerci d’avance pour ta precieuse aide :soleil:
PS : D’ailleurs si tu as une astuce… le fichier fais plus de 4 mo alors qu’il est vide, j’ai essayé les options de cleanage mais sans succès
http://dl.free.fr/gcqaBwLX63 mars 2014 à 19:59 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56769rattlesnakeMembreMerci pour ta réponse si rapide
C’est exactement ça, j’aimerais pouvoir conserver la dernière selection effectuée à la sauvegarde, tout en gardant bien sûr la possibilité de pouvoir la modifier plus tard.
Supprimer les scripts d’initialisation et d’importation ? Mais du coup si je veux modifier mes sélections par la suite ?
3 mars 2014 à 16:01 en réponse à : Récupération données BDD dans un formulaire PDF (La suite) #56767rattlesnakeMembreVoila ce que j’ai actuellement :
Script à l’ouverture de mon doc :
Code:initialisation();Contenu de la fonction d’initialisation :
Code:function initialisation()
{
if(global.dernNomStagiaireSelectionne!=””)
{
//Si la variable locale existe on la prend.
this.getField(BaseDeDonneesStagiaires).value=global.dernNomStagiaireSelectionne;
}
}//initialisation(); <= si je dé-commente cette ligne le script fonctionne mais ré-écrase toujours la même valeur à chaque frames quelque soit la value selectionnée dans la liste déroulante (si j'ai bien compris)
Action du document si celui-ci est enregistré :
Code:global.dernNomStagiaireSelectionne=this.getField(BaseDeDonneesStagiaires).value;
global.setPersistent(“dernNomStagiaireSelectionne”,true);Merci pour votre aide
EDIT : en l’état actuel de ce code le menu déroulant n’est pas sauvegarder au prochain redémarrage du pdf
15 février 2014 à 13:10 en réponse à : Chemin d’acces d’un PDF mis en objet dans un fichier word #56639rattlesnakeMembreMmmmh c’est bien ce que je craignais
Et bien merci pour ta réponse merlin, ça va me permettre d’arrêter de perdre du temps à chercher et à tourner en rond ^^
14 février 2014 à 16:21 en réponse à : Chemin d’acces d’un PDF mis en objet dans un fichier word #56637rattlesnakeMembreYes alors je confirme !
C’est bien la ligne de commande :
this.path
Qui ne fonctionne pas dans un pdf mis en objet dans un fichier word.pour reproduire la chose facilement, il suffit de faire à ce moment là dans la console :
console.println(this.path)Le message d’erreur :
console.println(this.path)
RaiseError: Une erreur est survenue dans le fichier.
Doc.path:1:Console undefined:Exec
===> Une erreur est survenue dans le fichier.undefined
EDIT : oups je me rends compte que le topic aurait peut être du être mis dans la section “PDF general” ?
-
AuteurRéponses