Donnez vie à vos documents numériques !
 

Répondre à : Modifier le nom d’enregistrement d’un fichier PDF ou bien l’envoyer par mail .

abracadabraPDF Forums PDF – Général Modifier le nom d’enregistrement d’un fichier PDF ou bien l’envoyer par mail . Répondre à : Modifier le nom d’enregistrement d’un fichier PDF ou bien l’envoyer par mail .

#57061
Merlin
Maître des clés

Comme je l’ai déjà expliqué par ailleurs, renommer un fichier automatiquement n’est possible que si on utilise une fonction implémentée via un Script d’application** qu’il faut préalablement installer sur chaque poste de chaque utilisateur. Ce n’est donc pas possible pour un formulaire à “diffusion externe”, sécurité oblige.

Pour une diffusion externe, le seul moyen c’est de prémâcher le travail de l’utilisateur en lui présentant une fenêtre avec un nom de fichier à copier-coller dans la fenêtre d’enregistrement, que l’on fait suivre immédiatement. Ce n’est pas très souple, mais faute de mieux…

Dans l’exemple ci-dessous on fait appel à une variable (MonTitre) et au contenu de deux champs (Nom et Date***) pour composer le nouveau nom de fichier.
Et comme les choses sont bien faites le script vérifie d’abord que les champs de données (Nom et Date***) soient remplis avant d’aller plus loin.

Il faut placer ce script JavaScript en Action “souris relevée” dans un bouton :

Code:
MonTitre = “Nom-du-formulaire”; // nom de base du formulaire
ChEnrgNom = this.getField(“Nom”); // 1er champ de récupération de données
ChEnrgDate = this.getField(“Date”); // 2e champ de récupération de données
//
if (ChEnrgDate.value == null || ChEnrgDate.value == “” || ChEnrgNom.value == null || ChEnrgNom.value == “”)
{app.alert({cMsg:”Merci de renseigner les champs “Date” et “Nom” 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 proposu00E9 ci-dessous et COLLEZ le dans la fenu00EAtre 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)
{
app.execMenuItem(“SaveAs”);
}
}

:Smiley15:

** Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/

*** Si on utilise une date il faut faire très attention à ne pas utiliser de caractères interdits dans les noms de fichiers et d’utilisation courante dans les formats de date, en particulier le slash / et les deux-points :
Exemples à éviter : dd/mm/yyyy ou yyyy:mm:dd
En français si on veut afficher les mois en entier il faut aussi faire attention à février, août et décembre.