Toutes mes réponses sur les forums
-
AuteurRéponses
-
bebarth
Maître des clés…juste pour vous aider !!!
@+
:bonjour:bebarth
Maître des clés…et pourquoi pas 2 champs :
un champ heure et un champ minute ?59 !
que faites vous avec ces temps ? des opérations ???
@+
:bonjour:23 septembre 2015 à 06:22 en réponse à : impression du formulaire si les champs obligatoires remplis #59580bebarth
Maître des clésbonjour,
je pense que ce sujet devrait répondre à votre problème :
http://abracadabrapdf.net/forum/index.php/topic,2816.0.html
@+
:bonjour:23 septembre 2015 à 06:06 en réponse à : impression du formulaire si les champs obligatoires remplis #59579bebarth
Maître des clésJe pensais que la fonction break arrêtait le script…
« break » arrête la boucle, pas le script !
:bonjour:bebarth
Maître des clés:bravo:
bonjour Merlin,
« parfaitement » était un peu présomptueux !!! ça marche quoi…
si la case covoiturage est cochée et que l’on modifie soit le nb de voyages soit le kilométrage, le montant du covoiturage ne change pas. on est obligé de décocher puis re-cocher la case…
pour palier cela, j’ai recopier le même script dans les champs « nb de voyages » et « kilométrage ».
n’y aurait-il pas une autre solution ? (avec les propriétés « event » par exemple).
merci
:doute:bebarth
Maître des clés…vous pourriez même caher le montant « 0,00 » si la case covoiturage n’es pas cochée…
var nbv = this.getField(« VOY »).value
var nbk = this.getField(« KM »).value
if (this.getField(« COV »).isBoxChecked(0))
{this.getField(« TOTCOV »).display = display.visible;;
this.getField(« TOTCOV »).value = (nbv*nbk*0.09);}
else
{this.getField(« TOTCOV »).display = display.noView;;
this.getField(« TOTCOV »).value = 0;}
@+
:geek:bebarth
Maître des clésoups,
désolé, le script n’était pas placé au bon endroit.
voici un fichier qui fonctionne parfaitement !!!
@+
:bonjour:bebarth
Maître des clésbonjour,
j’espère que ce fichier correspond à votre attente.
@+
:geek:bebarth
Maître des clésBonjour,
Avec Acrobat :
clique droit sur le bouton avec l’outil « Sélection un objet » (flèche du panneau « Obets interactifs ») pour accéder aux propriétés, puis onglet « Aspect ».
On peut jouer sur les contours et couleurs du bouton et on peut modifier l’aspect du caractère de « coche » avec le champ « Texte » (taille, couleur).
@+
:bonjour:bebarth
Maître des clés…la preuve, le script fonctionnait bien en script d’action mais pas en script d’application. Il a fallut rajouter des « this » pour qu’il fonctionne dans les 2 cas :
var bkm = this.bookmarkRoot;
var bkmnb = bkm.children.length;
var bmparent = this.bookmarkRoot.children[1];
for (var i = 2; i < bkmnb; i++) {
var bmenfant = this.bookmarkRoot.children[2];
bmparent.insertChild(bmenfant, bkmnb-2); }
@+
:joker:bebarth
Maître des clésBonjour Merlin,
…c’est ce que je fait depuis des années, et des fois plusieurs fois par jour. Maintenant je suis en mode ou je cherche à me simplifier les tâches !!!
après une bonne nuit de sommeil (!!!!), voici donc ce que j’ai réussi à faire (ce qui répond à mon problème) si ça peut servir à quelqu’un :var bkm = this.bookmarkRoot;
var bkmnb = bkm.children.length;
var bmparent = bookmarkRoot.children[1];
for (var i = 2; i < bkmnb; i++)
{
var bmenfant = bookmarkRoot.children[2];
bmparent.insertChild(bmenfant, bkmnb-2);
}Ce n’était en fait pas très compliqué. En tant qu’autodidacte en javascript, avec l’aide du forum bien évidemment, ce n’est pas toujours facile de comprendre les exemples fournis dans l’API Reference. Je pense que certaines fois il me manque quelques notions de base…
@+
:bonjour:15 septembre 2015 à 12:39 en réponse à : Copies champs texte d’un PDF vers d’autres fichiers PDF #59588bebarth
Maître des clésbonjour,
ce n’est pas trop la copie de la valeur qui pose un problème, c’est l’enregistrement du fichier. pour des raisons de sécurité, cela ne peut se faire en javascript (Merlin s’y connait mieux que moi et me démentira en cas de besoin).voici un script pour le document « source » :
var texte = this.getField(« TextSource »).value;
var otherDoc = app.openDoc(« destination.pdf », this);
otherDoc.getField(« TextDest »).value = texte;
this.closeDoc();sur le document « destination« , il faut ajouter un script de document :
this.disclosed = true;…par contre l’enregistrement se fait manuellement !!!
:bonjour:
bebarth
Maître des clésBonjour,
…
Cependant, j’ai fais face à un problème lorsqu’est arrivé le 1er septembre, alors que la date d’hier est devenue 09/31/2015. Il est évident que ça aurait dû être 08/31/2015…Dans votre script, vous testez si le jour de la semaine est un lundi avec if(this.getField(« WeekDay »).value == « Mon », et si c’est cas, vous ne modifiez que le jour… il faut également modifier le mois et même l’année !!!
voici un script de remplacement je pense assez compréhensible :var m = this.getField(« ScanDate_month »);
var y = this.getField(« ScanDate_year »);
var fld = this.getField(« ScanDate_day »);
var d1 = new Date();
var num = d1.valueOf();if(this.getField(« WeekDay »).value == « Mon »)
{
num += -(1000 * 60 * 60 * 24 * 3);
}else
{
num += -(1000 * 60 * 60 * 24);
}if(m.value== » « ) m.value = util.printd (« mm », new Date(num));
if(fld.value== » « ) fld.value = util.printd (« dd », new Date(num));
if(y.value== » « ) y.value = util.printd (« yyyy », new Date(num));:bonjour:
10 septembre 2015 à 14:45 en réponse à : Récupération signature Outlook lors d’un envoi de formulaire #59557bebarth
Maître des cléscela vient du paramétrage des signatures Outlook !
@+
:bonjour:bebarth
Maître des clésDonc :joker: …je passe mon tour également !
:bonjour:bebarth
Maître des clésc’est possible d’avoir une page en pdf pour voir les champs ?
:doute:bebarth
Maître des clésça, ce ne sont pas les screenshots du formulaire pdf?
:Euuuh:bebarth
Maître des clésbonjour Merlin,
je ne sais pas comment sont les formulaires générés, mais il est peut-être possible d’avoir accès au propriétés des champs !
:doute:bebarth
Maître des clésavez-vous renseigné le format date dans les propriétés du champ texte ?
il devrait y avoir un message d’erreur si la date entrée est incorrecte !!!
@+
:doute:bebarth
Maître des clésbonjour,
moi non plus je ne connais pas Livecycle designer 8, mais je crois savoir qu’il sert à générer des formulaires !
cette question concerne-t-elle ce logiciel ou le fichier formulaire généré en pdf ?
est-ce une date entrée manuellement ou générée automatiquement ?
@+
:bonjour:bebarth
Maître des clésbonjour,
…sinon il y a un solution « indirecte » qui serait de s’envoyer le fichier xml par e-mail avec submitForm, puis de le copier dans le répertoire désiré !this.submitForm({
cURL: « mailto:monom@societe.com,?subject= 26Mon fichier XML »,
cSubmitAs: « XML »
});envisageable ???
:doute:bebarth
Maître des clés…au fait, j’ai mis de la couleur dans les champs pour que ce soit plus lisible !!! :geek: :geek: :geek:
bebarth
Maître des clésexact ! il faut rendre les champs obligatoires, puis :
this.submitForm({
cURL: « mailto:nom1@societe.com,nom2@societe.com?subject=Réunion des 26/27 novembre 2015 à Paris »,
cSubmitAs: « PDF »
});par contre, soit objet du message => ?subject= Texte de l’objet, soit corps du message => ?body= Texte du message mais pas les 2 (du moins je ne sais pas faire). Par defaut l’objet prend le nom du fichier joint.
sinon :
if(this.getField(« Text1 »).valueAsString != « » && this.getField(« Text2 »).valueAsString != « » && this.getField(« Text3 »).valueAsString != « »)
{
this.mailDoc({
bUI: false,
cTo: « nom1@societe.com,nom2@societe.com »,
cSubject: « Sujet du message »,
cMsg: « Texte du message. »
});
closeDoc(true);}
else app.alert(« Veuillez saisir tous les champs. »,3)et la, pas besoin de cocher « obligatoire », mais c’est quand même obligatoire…
@+
:geek:4 septembre 2015 à 08:49 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59515bebarth
Maître des clésmerci pour l’info.
:bonjour:3 septembre 2015 à 12:50 en réponse à : Script pour modification des propriétés d’ouverture d’un document #59375bebarth
Maître des clés…et peut-on lancer une action via javascript ?
:Euuuh:3 septembre 2015 à 11:59 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59512bebarth
Maître des cléssi c’est effectivement ça, n’aurait-il pas été plus judicieux de n’avoir qu’un seul champ pour l’entrée du code et de faire la bascule sur un champ texte « code national »/ »code international » suivant le bouton radio ???
mais, on discute… on discute alors que personnellement je ne connais pas le document final ! je ne fais que supposer…
@+
:geek:3 septembre 2015 à 10:13 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59510bebarth
Maître des clés…c’est un exemple fait vite fait et pas la solution !
si les 2 champs ne sont jamais affichés en même temps, c’est qu’il y a soit un code national, soit un code international !!! pourquoi imprimer les 2 champs alors que « normalement » l’un des 2 est vide ???
:geek:bebarth
Maître des clésla boucle « for » s’incrémente de +1, aussi il faudrait récupérer les numéros des candidats et les stocker dans une variable tableau « v« .
:geek:3 septembre 2015 à 09:05 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59508bebarth
Maître des clésbonjour,
l’exemple joint répond-il au problème ?
@+
:geek:2 septembre 2015 à 16:48 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59507bebarth
Maître des clés…ou plutôt l’obligation sur l’un OU l’autre des ces 2 champs…
:geek:2 septembre 2015 à 16:39 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59506bebarth
Maître des clés:doute: …donc si on retire « l’obligation » pour ces 2 champs il n’y a plus de problème !!!
non… :Euuuh:
2 septembre 2015 à 14:21 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59504bebarth
Maître des clés…ne pourrait-on pas utiliser la propriété « display » du champ ?
this.getField(« CODEPOSTAL »).display = display.visible; //si bouton activé
et
this.getField(« CODEPOSTAL »).display = display.noView; //si bouton non activépropriété display :
Field is visible on screen and in print display.visible
Field is hidden on screen and in print display.hidden
Field is visible on screen but does not print display.noPrint
Field is hidden on screen but prints display.noView@+
:geek:2 septembre 2015 à 13:05 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59499bebarth
Maître des clésLe Code Postal de mon document est pour le national et le code postal international pour l’international
ça c’est une réponse précise… :geek:
2 septembre 2015 à 12:02 en réponse à : Rendre un champ obligatoire avec l’action d’un bouton #59494bebarth
Maître des clésbonjour,
ne suffirait-il pas de rendre les 2 champs de codes postaux indépendants et visibles et de les intégrer comme champs obligatoires ?
@+
:Euuuh:bebarth
Maître des clésLe paramètre « display » d’un champ permet cacher ou voir ce champ à l’écran et/ou à l’impression.
Field is visible on screen and in print display.visible
Field is hidden on screen and in print display.hidden
Field is visible on screen but does not print display.noPrint
Field is hidden on screen but prints display.noView
@+
:geek:bebarth
Maître des clésBonjour,
Je n’ai rien trouvé au sujet de la priorité des messages.
Les seuls paramètres sont :
this.mailDoc({
bUI: false,
cTo: « adressemail1@example.com »,
cCC: « adressemail2@example.com »,
cBcc: « adressemail3@example.com »,
cSubject: « Sujet du message »,
cMsg: « Texte du message »
});@+
:doute:bebarth
Maître des clésje ne sais pas comment imprimer à 97 %, mais on peut ajuster la page.
il faut remplacer la ligne :
this.print(false,0,0); // impression page 1 à 1
par :
this.print({bUI:false,bShrinkToFit:true,nStart:0,nEnd:0}); // impression page 1 à 1 ajustéepour masquer le champ c’est aussi possible, mais je verrai ça un peu plus tard !
@+bebarth
Maître des clés…après relecture, la ligne pp=0 ne sert à rien dans ce script !
@+bebarth
Maître des clésbonjour,
voici un script et un fichier joint qui pourront vous aider à personnaliser votre demande. Ce script est tiré de celui d’Alex.
dans cette exemple, uniquement la page 1 est imprimée si le le nombre d’exemplaires demandé est 0 ! A modifier si vous souhaiter qu’aucune page ne soit imprimée si 0.
console.clear();
console.println(« Contrôle de l’imprimante utilisée: »)
var ppp=this.getPrintParams();
console.println(« Nom de l’imprimante effectivement utilisée: » »+ppp.printerName+ » » »);
nbrePagesImprimees=1;
pp=0
nbreEx=this.getField(« NbrePages »).value;
if(nbreEx>0)
//On rajoute 1 page
nbreEx=nbreEx+1
{
console.println(« Impression page 1 »);
this.print(false,0,0); // impression page 1 à 1
ex=0;
console.println(« Impression page 2 »);
while(ex{
try
{
this.print(false,1,1); // impression page 2 à 2
ex=ex+1;
nbrePagesImprimees=nbrePagesImprimees+1;
console.println(« Exemplaire numéro « +ex+ « / »+nbreEx)
}
catch(e)
{
ex=nbreEx;
}
}
}
app.alert(nbrePagesImprimees+ » pages imprimées au total. »,3);
//console.show();@+
:geek:bebarth
Maître des clésbonjour,
si j’ai bien compris (encore une fois…), lorsqu’on lance la fonction, on récupère le numéro du candidat dans le champ « PV.ChoixCandidat » et la fonction n’est effectuée uniquement pour ce candidat :function np()
{
var cand = this.getField(« PV.ChoixCandidat »).value;
if ((this.getField(« PV.Cat. »+cand).value == »1″)&&(choixC8== »1 »)){this.getField(« PV.Note.pa. »+cand).value = this.getField(« 0.c1.a »).value;}
…par contre il faudrait mettre une restriction si la valeur entrée dans le champ n’est pas correcte ! (ou est stocké le nombre total de candidats ?)
si l’on veut lancer la fonction pour tous les candidats :
function np()
{
for (i = 0; i < nbcand; i++) // nombre de candidats
{
if ((this.getField(« PV.Cat. »+i).value == »1″)&&(choixC8== »1 »)){this.getField(« PV.Note.pa. »+i).value = this.getField(« 0.c1.a »).value;}
…
}
}ai-je bien compris ?
:doute:21 août 2015 à 10:12 en réponse à : Imprimer des pages ou des plages de pages selon sélection de cases à cocher #59394bebarth
Maître des clés…juste pour info, lorsque j’ai fait mes essais, toutes les pages sortaient bien recto/verso mais cela vient certainement de la configuration de l’imprimante !
Et avez vous configuré l’impression ro/vo dans les propriétés comme l’a indiqué Merlin ?
:doute:20 août 2015 à 17:17 en réponse à : Imprimer des pages ou des plages de pages selon sélection de cases à cocher #59392bebarth
Maître des clés…la preuve que je ne suis pas un très grand magicien car c’est maintenant mon tour d’être en vacances, et sans ma bible je suis un peu perdu…
J’avais essayé constants.bookletDuplexModes qui gère le recto/verso sans grand succès.
Je pense que c’est une piste de départ (page 589 de l’api reference). Je regarderai a mon retour début septembre.
@+ :Euuuh:14 août 2015 à 09:29 en réponse à : Imprimer des pages ou des plages de pages selon sélection de cases à cocher #59389bebarth
Maître des clés…et voici le petit « bug » résolu.
@+
:soleil:13 août 2015 à 14:23 en réponse à : Imprimer des pages ou des plages de pages selon sélection de cases à cocher #59388bebarth
Maître des clésBonjour,
Je suis loin de me prendre pour un grand magicien et je viens de prendre le sujet en cours, aussi j’espère que j’ai bien tout compris…
Voici ce que j’ai fait en m’inspirant très largement des scripts d’Alex.
Certaines cases sont invisibles, mais elles pourraient rester visibles…
Il y a quand même un petit « bug » : lorsque l’on coche une des cases « DOCUMENTS OPTIONNELS… » et que l’on décoche un/des document(s), cette case reste cochée !!!
J’espère que cela vous convient, et merci Alex !
@+
:doute:5 août 2015 à 14:58 en réponse à : Coller le contenu du presse-papier dans une variable JavaScript #59380bebarth
Maître des clés…sinon, j’ai trouvé ça qui fonctionne très bien :
var bkmName = app.response({
cQuestion: « Collez le presse-papier »,
cTitle: « Presse-Papier »
});@+
:bonjour:4 août 2015 à 14:20 en réponse à : Script pour modification des propriétés d’ouverture d’un document #59373bebarth
Maître des cléseffectivement, c’est pas compliqué comme ça !
je sens que je vais me plonger un peu plus dans les actions !!!
…et est-il possible d’affecter un raccourci clavier à une action ???
:geek:
mercibebarth
Maître des clésimpec !
j’avais à vrai dire déjà eu ce genre de problème il y a quelques année, j’avais don déjà l’utilitaire abra-Txt2Unicode
merci.
:geek:4 août 2015 à 12:15 en réponse à : Script pour modification des propriétés d’ouverture d’un document #59371bebarth
Maître des clésBonjour Merlin,
…parce que plus on vieilli et moins on veut en faire !!! :Smiley00:
plusieurs fois par jour je dois redéfinir les propriétés à l’ouverture de documents ainsi que d’autres actions.
j’ai donc un script général qui regroupe toutes les actions que j’ai à effectuer sur mes fichiers et je voudrais donc rajouter un script pour modifier les propriétés des documents.
j’aurai certainement même d’autres requêtes pour finaliser toutes mes actions !
je n’ai à vrai dire jamais utilisé les Action…
merci.
:bonjour:bebarth
Maître des clés…tant pis, c’est déjà bien de povoir Rechercher/Remplacer !!!
merci.
:bonjour:bebarth
Maître des clésJ’ai essayé ce site :
http://image.online-convert.com/fr/convertir-en-jpg
le résultat n’est pas extraordinaire, mais quand même mieux qu’avec Acrobat.
j’ai peur que ma collègue ne puisse pas se passer de mes services…
merci
:bonjour:bebarth
Maître des clésQu’utilisez-vous sur Illustrator comme paramètre d’exportation pdf ? un paramètre standard ?
Sur votre fichier, la compression jpeg semble de qualité moyenne. Essayez avec une qualité maximum.
Pour les aplats, le profil colorimétrique du document Illustrator est-il en CMJN ?
:oh:[attachment deleted by admin]
bebarth
Maître des clésBonjour,
Personnellement je ne vois pas de voilage sur le pdf.
peut-on avoir une copie d’écran de ce que ça devrait donner sans voilage ?
:doute:bebarth
Maître des clésBonjour Merlin,
Elle est effectivement sur PC/Windows mais n’a pas la possibilité d’installer quoi que ce soit !
Pour les services en ligne, je suppose qu’elle y a accès. Je vais chercher mais si tu as déjà une adresse, je suis preneur.
merci
:extra:bebarth
Maître des clésOK ! donc pas de solution uniquement avec Acrobat et Photoshop Elements. Comme indiqué, ma collègue en Allemagne n’a que ces 2 logiciels et souhaiterait convertir les fichiers sans avoir a me le demander à chaque fois !
@+ :oh:bebarth
Maître des clésBonjour Merlin,
1) Je crée un fichier .pdf via Illustrator
2) je l’ouvre avec Acrobat, la visualisation est parfaite
3) je l’extrais ou l’enregistre au format jpeg (ou tif) et le résultat est horrible.
J’ai essayé les différentes options d’enregistrement de fichier jpeg ainsi que « Conversion du format pdf » des préférences mais le résultat est toujours le même.
:doute:[attachment deleted by admin]
bebarth
Maître des clésImpeccable !!! Merci Stubiana :soleil:
voici mon script final au cas ou cela intéresse quelqu’un.
function myBookmarkContactUs()
{
this.bookmarkRoot.createChild(« Dernière page », « », this.bookmarkRoot.children.length);
var i = this.bookmarkRoot.children.length
var bkm = this.bookmarkRoot.children[i-1];
bkm.style = 1;
bkm.color = color.black;
bkm.setAction(« this.pageNum = numPages »);
}
app.addMenuItem({ cName: « Contact Us », cParent: « Edit », cEnable: « event.rc = event.target != null », cExec: « myBookmarkContactUs() »});bebarth
Maître des clésBonjour à tous,
je voudrais modifié ce script pour créer un autre signet qui renvoie à la dernière page du document, mais que ce script soit le dernier de la liste.
je n’ai pas de problème pour le renvoi en dernière page, mais par contre je n’arrive pas à placer le signet en fin de liste ! tous les exemples que je trouve « Create a bookmark at the top of the bookmark panel ».
Dans AcrobatJS Guide il est indiqué pour « createChild » : Creates a new child bookmark at the specified location. si je comprends bien, cela doit donc être possible.
j’ai bien trouvé un script qui calcul le nombre de signets, mais je ne sais pas qu’en faire…
merci d’avance si quelqu’un a une réponse !!!
:bonjour:2 février 2012 à 16:36 en réponse à : Caractères alphanumériques et saut de champ automatique. – RÉPONDU #52588bebarth
Maître des clésSuper !!!
…et on comprend encore mieux avec l’exemple que l’on peut télécharger sur http://www.planetpdf.com/developer/article.asp?ContentID=javascript_setfocus_method_f&gid=6267%29
Sais-tu si le livre cité « Creating Adobe Acrobat Forms » ou un autre similaire existe en français ! je n’ai pas trop de mal avec l’anglais, mais si ça existe en français, je préfère.
encore merci
:bonjour:1 février 2012 à 12:04 en réponse à : Caractères alphanumériques et saut de champ automatique. – RÉPONDU #52586bebarth
Maître des clésMerci Merlin,
J’ai donc mis les deux scripts de touches à la suite et cela fonctionne « presque parfaitement », car lorsque je tape le 5ème caractère, je change bien automatiquement de champ, mais ce 5ème caractère n’est pas pris en compte (cf fichier joint).
je comprend donc que ce caractère est taper dans le premier champ, mais n’est pas validé puisque le champ est plein, et passe donc au champ suivant.
j’ai essayé de mettre le script de changement de champ au début du script de touche, mais le résultat est le même.
:Euuuh:[attachment deleted by admin]
1 février 2012 à 08:58 en réponse à : Caractères alphanumériques et saut de champ automatique. – RÉPONDU #52584bebarth
Maître des clésJ’ai trouvé le script pour n’accepter que les chiffres et les lettres capitales.
Je ne sais pas si je peux donner la solution car j’ai adapter le script « Champ de formulaire au format Téléphone » de Merlin dans son abracadabraSripts.
je cherche encore pour passer automatiquement au champ suivant.
:siffle:[attachment deleted by admin]
bebarth
Maître des clésJ’avais essayé les 2 scripts individuellement. Le script de menu me conviens parfaitement, je l’ai même doublé en créant un signet en anglais et un autre en français.
merci
:extra:bebarth
Maître des clésBonsoir Merlin,
pour le raccourci ce n’est pas grave, il y a d’autres moyens;
Concernant le script bouton, j’ai essayé et il y a quelque chose que je ne comprend pas.
le bouton ne fonctionne qu’une fois à l’ouverture du fichier, mais le script ouvre une petite « fenêtre javascript » (pièce jointe). Le signet est créé et fonctionne, mais si on le supprime, le script du bouton ne fonctionne plus.
Est-ce normal ?
:siffle:[attachment deleted by admin]
bebarth
Maître des clésMerci Merlin,
comme d’hab ça marche impec !!!
Est-il possible d’ajouter un raccourci clavier dans le script ?
:geek:6 septembre 2011 à 15:29 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51919bebarth
Maître des clésMerlin,
j’ai essayé ton idée d’ajouter une action « Exécuter un javascript » après l’action « Atteindre une page », mais cela ne fonctionne apparemment pas.
la page s’ouvre à l’échelle indique dans l’action « Atteindre une page ».
:doute:6 septembre 2011 à 14:34 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51918bebarth
Maître des clésil n’est apparemment pas possible d’écrire un script pour ajouter une seconde action…
http://acrobatusers.com/forum/javascript/add-javascript-action-link
:Euuuh:6 septembre 2011 à 13:38 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51917bebarth
Maître des clésÇa c’est pas bête… je regarde ça !
:soleil:6 septembre 2011 à 12:37 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51915bebarth
Maître des clésJ’avance, mais je n’arrive pas à récupérer le numéro de page du lien existant !!!
de plus, je me demande si cela est possible, car j’ai trouvé :
« It’s not possible to get the list of named destinations in a PDF with a script. You must hard-code it into your script, or read it from some external source, like a text file. » sur http://acrobatusers.com/forum/javascript/changing-internal-hyperlinks
si alex a une idée !!! merci.
:oh:voici le script dans l’état actuel :
var linkPage = this.pageNum;
var box = this.getPageBox(« Crop », linkPage); // get the page box
var linksList = this.getLinks(linkPage, box); // get the link
if (linksList.length > 0)
{
for (var i=0; i < linksList.length; i++) // loop through each link
{
var destPage=this.gotoNamedDest(linksList);//destination existante du lien
linksList.setAction(« this.pageNum= »+destPage+ »; »+ »u000D »+ »this.zoomType=zoomtype.fitP; ») //set new destination
}
}5 septembre 2011 à 14:48 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51904bebarth
Maître des clésmerci alex !
ce doit être assez compliqué car en plus du nombre de caractères du numéro de page, il faut certainement aussi prendre en compte la police et le corps utilisé !!!
…et en ce qui concerne la recherche d’un mot dans une police précise, c’est possible ?
??:
5 septembre 2011 à 14:42 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51914bebarth
Maître des clésj’ai essayé plusieurs versions d’Acrobat sur plusieurs plateformes et le script ne fonctionne pas.
voici le script que j’ai changé pour modifier les liens de la page courante et atteindre la page cible en pleine page (mais qui ne fonctionne pas).
ou se trouve l’erreur ???
:mur:var p = this.pageNum
var box = this.getPageBox(« Crop », p); // get the page box
var linksList = this.getLinks(p, box); // get the link
if (linksList > 0)
{
for (var i=0; i < linksList.length; i++) // loop through each link
{
this.zoomType = zoomtype.fitW; // pleine page
this.gotoNamedDest(linksList); // go to current destination
var destPage=this.pageNum
linksList.setAction(« this.pageNum= »+destPage) //set new destination
}
}5 septembre 2011 à 13:57 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51902bebarth
Maître des clésJuste pour signaler que lorsque le texte est en italique (et uniquement), seule le premier chiffre est cliquable mais le numéro de page indexé est correct.
cela me convient parfaitement car je n’ai pas beaucoup de texte en italique, mais juste pour info, est-il possible de rechercher un mot (page en l’occurence) dans une police bien précise ?
merci
:oh:27 août 2011 à 17:57 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51901bebarth
Maître des clésPour info, 350 mn pour 1640 pages !!!
Plus que 2 versions…
:extra:26 août 2011 à 14:02 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51900bebarth
Maître des clésÇa marche impec…
:joker:26 août 2011 à 11:03 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51898bebarth
Maître des clésvoici le script tel que je l’ai adapté pour mon document :
console.clear();
console.println(« Processus de creation des liens… »);
for (var p = 0; p < this.numPages; p++)
{
console.clear();
console.println(« Page « +(p+1));
var numWords = this.getPageNumWords(p);
for (var i=0; i{
var ckWord = this.getPageNthWord(p, i, true);
console.println(i+ »-Mot trouve : « +ckWord);
if ( ckWord == « page »|ckWord == « pages »)
{
//Analyse du mot suivant
MotSuivant=this.getPageNthWord(p,(i+1),true);
console.println(« Mot suivant trouve, lien a creer : « +MotSuivant);
//Premier caractère est-il un chiffre?
if(MotSuivant.charCodeAt(0)>=48&MotSuivant.charCodeAt(0)<=57)
{
// pp numéro de la page indexee
//conversion en variable numerique
var pp = parseInt(MotSuivant);
// ajout de 30 pages avant la page 1
pp+=30
console.println(« Créer des liens, mot suivant trouve est un chiffre, lien a creer : « +pp);
var q = this.getPageNthWordQuads(p, i+1);
// convert quads in default user space to rotated
// user space used by Links.
m = (new Matrix2D).fromRotated(this,p);
mInv = m.invert()
r = mInv.transform(q)
r=r.toString()
r = r.split(« , »);
l = addLink(p, [r[4], r[5], r[2], r[3]]);
// bords blancs
l.borderColor = color.white
l.borderWidth = 1;
action= »this.pageNum= »+(pp-1);
l.setAction(action);
}
}
}
}je vais lancer pour le document de 1600 pages cette nuit.
est-ce que ce sera plus rapide si j’enlève les commandes « console ».
je voudrais également mettre une commande d’enregistrement en fin de script pour savoir combien de temps cela a pris.
:extra:26 août 2011 à 08:01 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51896bebarth
Maître des clésJ’essaie de trouver une connexion wifi dans la journée et donne le script entier ! Sinon il faut que je retape tout sur mon iPhone…
:geek:25 août 2011 à 22:24 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51893bebarth
Maître des clésLes 2 solutions ne fonctionnent pas !!!
J’ai trouvé la solution (ou une solution) que j’ai testé et qui fonctionne :
…
var pp = parseInt(MotSuivant);
pp+=30
…
le problème est donc maintenant résolu, à moins que je ne m’aperçois d’un autre problème.
Merci Alex et Merlin
25 août 2011 à 09:50 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51891bebarth
Maître des clésPareil… Pour pp = 100 par exemple (30+pp-1) donne 3099 !!!
Pour les sites, je verrai plus tard car je n’ai qu’une connexion 3G.
:Euuuh:24 août 2011 à 21:44 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51888bebarth
Maître des clésMerci Alex, mais je ne comprends pas le raisonnement de commencer la recherche des numéros de page à partir de la page 30 avec :
for (var p = 30; p < this.numPages; p++)
A mon avis il faudrait augmenter la variable pp de 30 dans :
action= »this.pageNum= »+(pp-1);
:doute:24 août 2011 à 14:20 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51884bebarth
Maître des clésIl me manque vraiment des notions de base en Javascript ! D’ailleurs j’aimerais trouver un livre pour les nuls…
Mon nouveau problème est que j’ai 30 pages avant la page 1. J’ai don essayé d’incrémenter la variable pp avec pp+30, mais cela ne fonctionne pas ! Par exemple pour pp=100, pp+30 donne 10030. Ce qui me parait étrange, c’est que pp+30-1 donne 10029 !!!
Quel est donc le bon opérateur pour avoir pp+30 en numérique ???
Merci :mur:21 août 2011 à 13:02 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51882bebarth
Maître des clésJ’ai fait un essai sur 175 pages, et ça m’a pris 1/2 heure. Je fait une vérif vite fait, et je lance pour 1600 pages. Cela devrait prendre 4,5 heures, mais je trouve ça raisonnable. J’ai cela à faire pour les 3 langues. Pour ce qui est du français, je fais la recherche sur « page » et « pages » car je sais qu’il n’y aura pas de « Page ». Je ferai l’indexation des « pages » suivantes manuellement car je sais qu’il n’y en a pas beaucoup.
Pour ce qui est de la console, je n’y comprend pas grand chose ! J’ai essayé de lancer l’application console du Mac, mais je ne vois rien…
Merci encore !19 août 2011 à 22:31 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51878bebarth
Maître des clésje profite d’une connexion wifi difficile à trouver pendant mes vacances pour remercier alex de cette excellente réponse !!!!
:extra:
merci aussi à Merlin pour son aide.
:contentdance:5 août 2011 à 13:08 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51912bebarth
Maître des clésLa condition doit être entre parenthèses if (linksList > 0), mais je n’arrive pas à faire fonctionner le script !
pour avoir la page entière, faut-il mettre :
this.zoomType = zoomtype.fitP; au lieu de this.zoom = 150;
:doute:for ( var linkPage = 10; linkPage < this.numPages; linkPage++) // loop through each page
{
var box = this.getPageBox(« Crop », linkPage); // get the page box
var linksList = this.getLinks(linkPage, box); // get the link
if (linksList > 0)
{
for (var i=0; i < linksList.length; i++) // loop through each link
{
this.zoom = 150; // set zoom to 150%
this.gotoNamedDest(linksList); // go to current destination
var destPage=this.pageNum
linksList.setAction(« this.pageNum= »+destPage) //set new destination
}
}
}3 août 2011 à 21:32 en réponse à : Modification de la propriété de tous les liens d’un document. – RÉPONDU #51910bebarth
Maître des clésMerci Merlin.
Il y a apparemment une parenthèse qui manque avant la condition, mais je ne comprend pas où !!!
??:
[attachment deleted by admin]
1 août 2011 à 20:11 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51875bebarth
Maître des clésBon, ben finalement je me suis lancé, et bien sure ça marche pas !
C’est peut-être un début de quelque chose.
Si l’un de vous a une idée…
Merci d’avance.
:doute:for (var p = 0; p < this.numPages; p++)
{
var numWords = this.getPageNumWords(p);
for (var i=0; i{
var ckWord = this.getPageNthWord(p, i, true);
if ( ckWord == « page »)
{
//Analyse du mot suivant
MotSuivant=this.getPageNthWord(p,i+1,0);
//Premier caractère est-il un chiffre?
if(MotSuivant.charCodeAt(0)>=48&MotSuivant.charCodeAt(0)<=57)
{
// pp numéro de la page indexee
var pp = MotSuivant.Value
var q = this.getPageNthWordQuads(p, i+1);
// convert quads in default user space to rotated
// user space used by Links.
m = (new Matrix2D).fromRotated(this,p);
mInv = m.invert()
r = mInv.transform(q)
r=r.toString()
r = r.split(« , »);
l = addLink(p, [r[4], r[5], r[2], r[3]]);
l.borderColor = color.red
l.borderWidth = 1
l.setAction(« this.pageNum(pp); »);
}
}
}
}29 juillet 2011 à 20:14 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51874bebarth
Maître des clésPour info, ci-joint l’adresse de l’e-book qui a été fait (aux US) à partir des fichiers pdf :
http://www.nxtbook.com/nxtbooks/newportcorp/resource2011/#/36
On peut remarquer que l’indexation des pages fonctionne. Le sous-traitant affirme que son logiciel le fait automatiquement, mais que ces liens ne peuvent être remontés dans le pdf.
C’est donc peut-etre possible d’y arriver avec un script !
??:
29 juillet 2011 à 14:22 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51872bebarth
Maître des clésMerlin,
J’ai aussi regardé ton script de comptage de mots, ou tu fais la distinction entre les mots avec et sans chiffres : ne pourrait-on faire une recherche sur les mots « page », et si le mot suivant est un chiffre, on peut l’indexer…
ça, des idées, j’en ai : c’est les concrétiser que j’ai du mal…
:idee:29 juillet 2011 à 13:41 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51871bebarth
Maître des clésÇa ne marche pas !!!
N’est-il pas possible de rechercher une chaîne de caractères ?
Par exemple, si on pouvait faire une recherche d’une chaîne de caractères qui serait la concaténation d’une première chaîne « page » et d’une variable « xxx » représentant le numéro de la page ?
:doute:29 juillet 2011 à 09:46 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51869bebarth
Maître des clésBonjour Merlin,
au début, je voulais indexer « voir page xxx » avec renvoi à la page xxx, mais « voir page xxx » ça fait 3 mots et non un seul, donc le script ne fonctionne pas.
Si j’utilise le script en n’indiquant que le numéro de page (50 par exemple), à chaque fois que le script va rencontre « 50 », il va l’indexer à la page 50, même si ce nombre correspond à autre chose (longueur, poids…)
bebarth29 juillet 2011 à 07:57 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51867bebarth
Maître des clésJ’ai trouvé le script de Merlin qui est plus complet et convivial que celui d’Adobe, mais qui est sur la même base.
http://www.abracadabrapdf.net/forum/index.php?topic=1185.msg5151#msg515129 juillet 2011 à 07:35 en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51866bebarth
Maître des clésBonjour,
Après mes premiers essais, je m’aperçois que la variable ckWord ne doit pas contenir d’espace (un simple mot). Si on ne doit travailler que sur le numéro de page, à chaque fois que le script trouvera le chiffre il fera un renvoi, même si ce numéro ne correspond pas à un numéro de page.
Je pense qu’il faudrait donc travailler plutôt sur une chaîne de caractères.
Je poursuis mes recherches.
bebarthbebarth
Maître des clésMerci beaucoup à Alex pour ces réponses très rapides.
Du coup c’est moi qui suis confus de ne pas avoir trouvé le temps de re-venir voir sur le forum avant.
Ces scripts me conviennent à merveille…. ça donne une idée plus précise de la quantité de mots à prendre en compte pour mon devis de traduction.
Merci encore
:contentdance:
bebarth[attachment deleted by admin]
22 avril 2009 à 08:03 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49493bebarth
Maître des clésBonjour Merlin,
Je n’arrive pas à m’en sortir. Un coup ça marche et un coup ça marche pas selon le poste de travail (pc, car j’ai fait ples d’essais pu ça fonctionne sous Mac).
Connaîtrais-tu quelqun ou une société qui pourrait vérifier le ce que je suis en train de faire, identifier les problèmes (éventuels) et bien sûre les résoudre. J’aimerais demander un devis (et bien entendu c’est urgent).
Merci d’avance pour ta réponse.
:attention:21 avril 2009 à 19:51 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49491bebarth
Maître des clés???
dans ton fichier exemple les différentes langues sont dans le même fichier, ce qui n’est pas mon cas !
:doute:20 avril 2009 à 08:39 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49489bebarth
Maître des clésJe pense effectivement que le problème vient de disclosed qui, à ce que j’ai trouvé, doit se situer « st thé top level », ce qui expliquerait que pour certains scripts ils fonctionne uniquement la première fois.
Je suis sur une nouvelle piste gotonameddest mais pour l’instant je n’arrive pas à voir comment je pourrais créer une destination différente pour chaque page.??:
18 avril 2009 à 08:22 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49487bebarth
Maître des clésJ’ai testé le script qui ferme toutes les fenêtres, et comme il est indiqué « It closes all disclosed open documents. », je me suis dit qu’il fallait mettre « this.disclosed =false; » avant cette parie de script dans le bouton puis remettre « this.disclosed = true; » :
Le document cible s’ouvre bien en premier plan et à la bonne page, mais le document source reste actif (en second plan).Je vais continuer mes recherches, mais mon CD master doit partir pour duplication en milieu de semaine prochaine, et je pense que ce sera cette version qui sera retenue si je ne trouve pas mieux.
😮 :attention: 😮
17 avril 2009 à 16:19 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49486bebarth
Maître des clésJ’ai essayé en mettant this.closeDoc en script d’ouverture, mais… ça me referme le doc immédiatement !!!
j’ai fait pas mal d’essais et en suis arrivé à ce script (uniquement sur le bouton) :var d = app.openDoc(« 01-Make_F.pdf »,this);
global.vue = this.viewState;
d.viewState = global.vue;
app.openDoc(« 01-Make_E.pdf », this);
this.closeDoc();app.openDoc rappelle le doc source qui est eensuite fermé
j’ai bien cru que j’y étais arrivé, sauf que, je ne sais pouquoi, ça fonctionne uniquement la première fois (lorsque acrobat est lancé). Pour les fois suivante le doc cible reste au premier plan et à la première page.Dans Acrobat 9 SDK Documentation j’ai trouvé ça :
The following code can be executed as a mouse-up action from an open document. It closes all disclosed open documents. The code is designed to close the active document last so that the execution of the code will not be abruptly terminated.
var d = app.activeDocs;
for( var i in d )
if( d != this ) d.closeDoc();
if ( this.disclosed ) this.closeDoc();
Ne pourrait-on pas s’inspirer de ce script pour fermer la fenêtre de second plan ???
??: :Euuuh:
??:
bebarth
Maître des clésBonjour Merlin,
Je sais que ce n’est pas le bon endroit pour parler de la non connexion au forum depuis mon boulot, mais je ne savait pas ou poster.
D’après le service informatique (toujours trop fort…) ils ont tout testé (fournisseur, filtres, …) et cela ne viendrait pas de chez nous (…)
Ils me demande de voir avec ton hébergeur si cela ne viendrait pas de filtres de son côté dupuis qu’on a changé de provider (nerim).
Merci de me tenir au courant.
:Euuuh:17 avril 2009 à 07:30 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49482bebarth
Maître des clésDébut de solution qui fonctionne :
J’ai enlevé le closeDoc(true) en fin de script de bouton et j’ai rajouté var myDoc = this.info.Title
Ça fonctionne, je retombe bien à la bonne page.
Donc en script d’ouverture j’ai ajouté myDoc.closeDoc(true) mais le doc source ne se ferme pas !
:doute:17 avril 2009 à 06:22 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49481bebarth
Maître des clésça ne fonctionne pas (sur pc) en inversant les 2 instructions. Le doc source reste ouvert en second plan et le doc cible est ouvert en première page.
Sur Mac ça marche bien ! Ce que je ne comprend pas dans le doc de jeff moran c’est qu’il parle de parité entre windows et Mac os (pas osx) alors que le mdi fonctionne apparemment avec osx. Et puis le coup des écrans pas chers pour laisser tomber le mdi me laisse septique!!!
Je continue mes recherches…
:doute:17 avril 2009 à 04:47 en réponse à : Ouvrir un fichier pdf à la même page que celui ouvert (dans une autre langue) #49480bebarth
Maître des clésJe vais essayer plus tard, mais là je profite que j’ai accès au site :
– Si dans un même script je ferme le doc après avoir été sur un autre doc, à quel doc s’applique « closeDoc(true); »????
– Ne faut-il pas fermer le doc origine en scrip d’ouverture du doc cible???
Merci
:doute: -
AuteurRéponses