Copy link to clipboard
Copied
Bonjour à tous,
Je rencontre une problématique et je ne sais pas comment faire.
J'ai un tableau de 1000 lignes et dans chaque ligne je dois intégrer une ou plusieurs images (il s'agit de produits chimqiues et ce sont les images de pictogramme de sécuirté), les images varient en fonction du produit donc est différent par ligne. Existe t'il une possibilité pour que par exemple je mette des numéros associés à chaque image, que j'intègre les numéros dans mon tableau et que ca me charge automtiquement les images correspondantes ?
Merci d'avance pour vos retour.
The following script will replace each file name with an anchored image. Before running it, you will need to:
Copy link to clipboard
Copied
Would it be easy to add the file names of the images directly into the cell where you want the image(s) to go? Previously I've written a script that could then replace the text with images -- in that case it was in a frame rather than a table, but I think I can adjust my script to work with tables. Can you share a sample screenshot that shows what you want your table to look like?
Copy link to clipboard
Copied
Copy link to clipboard
Copied
I think the best long-term solution may be to turn those icons into anchored objects. That way, they will adjust automatically when you insert, remove, or resize lines.
—(Optional) Size and Position Options > Size > Adjust: Height & Width (enter your desired dimensions). This may help if you want to make sure all your icons are the same size.
If you selected the options as outlined above, the icon should slide into the correct position (but let me know if it is not working for you). You should also be able to drag multiple icons into the same cell.
I will still try to figure out a script to help with your initial import of all the icons, but doing the above steps should make it easier to update your file later on.
Copy link to clipboard
Copied
The following script will replace each file name with an anchored image. Before running it, you will need to:
If you are not familiar with installing and running scripts, see this help article.
The script works as follows:
Let me know if you encounter any issues or need additional guidance!
app.doScript(Main, undefined, undefined, UndoModes.ENTIRE_SCRIPT,"Run Script");
function Main(){
var myDoc = app.activeDocument;
var myFolder = Folder.selectDialog("Select folder to search");
app.findGrepPreferences= NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.appliedParagraphStyle = myDoc.paragraphStyles.item("Picto");
app.findGrepPreferences.findWhat ='\\<(\\w|-)+(\\.)(psd|png|jpg|jpeg|svg|tif|tiff)';
//edited to add "psd"
var foundTexts = myDoc.findGrep();
var myObjStyle = app.activeDocument.objectStyles.item("Picto");
var i = foundTexts.length;
while (i--) {
try {
var ip = foundTexts[i].insertionPoints[0].index;
var anchoredFrame = foundTexts[i].parent.insertionPoints[ip].rectangles.add();
anchoredFrame.applyObjectStyle(myObjStyle, true);
if(File(myFolder + "//" + foundTexts[i].contents).exists) {
anchoredFrame.place(File(myFolder + "//" + foundTexts[i].contents));
foundTexts[i].remove();
}
}
catch(err) {
}
}
app.findGrepPreferences= NothingEnum.nothing;
}
Copy link to clipboard
Copied
Thank you very much, I've tried it but it doesn't work. II have the block that appears, but it's empty and the text still appears (see the sreenshot). I think i've missed something but can't found what 🙂
I have another question : Does the image has to be in .png only or does it works with .psd image if I add |psd?
Sorry it's the first time for me.
Please find the different step that i made and if you have time could you please tell me what i could have done wrong. Thank you
Copy link to clipboard
Copied
@daphné je ne suis pas du tout un scripteur, mais je crois comprendre le problème : d'après ce que je vois, le script qui t'a été fourni ne fait pas appel à un style de cellule alors que tu en utilises un dans ton tableau. Mais je suis peut-être complètement à côté de la plaque…
En ce qui concerne ta question sur les PSD, je pense que ça devrait fonctionner si tu ajoutes |psd
Copy link to clipboard
Copied
Merci pour le retour, oui j'avoue que je ne suis pas dutout experte dans les script, je vais voir et merci pour le psd, je pensais bien aussi 🙂
Copy link to clipboard
Copied
J'ai testé le script de @danaken3 sur un tableau simple que je viens de créer et ça fonctionne parfaitement.
Copy link to clipboard
Copied
Je ne comprends pas du coup, j'ai du loupé une étape.
Copy link to clipboard
Copied
Je viens de le refaire avec un style de cellule, rangé dans un groupe, comme toi et ça fonctionne encore. Tu es certaine que le nom indiqué dans la cellule est rigoureusement celui du picto à placer ? Tu as bien suivi les instructions de @danaken3 ? (appliquer le style de paragraphe au texte de remplacement)
Copy link to clipboard
Copied
Oui c'est bien pour ça que je ne comprends pas.
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Et la première fois, tu n'avais pas ce message ? Tu as modifié quelque chose dans le script ?
Je vois aussi que tu as indiqué le chemin de ton dossier sur la ligne « var myFolder = Folder.selectDialog ». Ça ne sert à rien, ça sert juste à changer le message qui apparaît en haut de la fenêtre qui te permet de sélectionner le dossier dans lequel se trouvent les images. Ceci dit, je pense que ce n'est pas l'origine du problème.
Copy link to clipboard
Copied
Non, je ne comprends plus rien 🙂
Copy link to clipboard
Copied
Je vois sur ta capture d'écran que ton fichier est en lecture seule…
Copy link to clipboard
Copied
Tu peux joindre le script, que je l'essaie ?
Copy link to clipboard
Copied
le voici
app.doScript(Main, undefined, undefined, UndoModes.ENTIRE_SCRIPT,"Run Script");
function Main(){
var myDoc = app.activeDocument;
var myFolder = Folder.selectDialog("C:\Users\daphné\Desktop\PICTO");
app.findGrepPreferences= NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.appliedParagraphStyle = myDoc.paragraphStyles.item("Picto");
app.findGrepPreferences.findWhat ='\\<(\\w|-)+(\\.)(png|jpg|jpeg|svg|tif|tiff)';
var foundTexts = myDoc.findGrep();
var myObjStyle = app.activeDocument.objectStyles.item("Picto");
var i = foundTexts.length;
while (i--) {
try {
var ip = foundTexts[i].insertionPoints[0].index;
var anchoredFrame = foundTexts[i].parent.insertionPoints[ip].rectangles.add();
anchoredFrame.applyObjectStyle(myObjStyle, true);
if(File(myFolder + "//" + foundTexts[i].contents).exists) {
anchoredFrame.place(File(myFolder + "//" + foundTexts[i].contents));
foundTexts[i].remove();
}
}
catch(err) {
}
}
app.findGrepPreferences= NothingEnum.nothing;
}
Copy link to clipboard
Copied
Non, envoie-moi le fichier qui est stocké sur ton ordinateur, celui que tu as appelé « produits-chimiques.jsx »
Copy link to clipboard
Copied
il n'accepte pas les fichiers .jsx
Copy link to clipboard
Copied
J'ai copié collé le texte du script que tu as posté, ça marche sur mon Mac.
Ça veut donc dire que c'est le fichier InDesign qui coince : soit parce que le style d'objet ou le style de paragraphe « Picto » (ou les 2) n'est pas paramétré comme il faut.
Copy link to clipboard
Copied
Bon ba la je ne sais pas ....
Copy link to clipboard
Copied
Tu peux m'envoyer un extrait du fichier InDesign que tu utilises, avec le style d'objet et le style de paragraphe ?
Copy link to clipboard
Copied
comment faire ?
Copy link to clipboard
Copied
Quand tu réponds, tu dois voir ça en bas de la fenêtre de rédaction du message ? Sinon, tu m'envoies un lien wetransfer ou dropbox ou équivalent.