[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Bilder tauschen - mit variablen Dateinamen - InDesign per Javascript

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Bilder tauschen - mit variablen Dateinamen - InDesign per Javascript

vhausw
Beiträge gesamt: 65

24. Jul 2019, 14:49
Beitrag # 1 von 5
Bewertung:
(4227 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
wer kann mir mit einem (für die Profis) kleinen Problem helfen.

Ich möchte im InDesign ein vorhandenes Bild-1 (0000_Grund.pdf)
durch ein anderes Bild-2 (xxxx_1986_876_2_50_stk._in_err.pdf) ersetzen.

Bei Bild-2 (dem neuen Bild), ist der Name variabel.
Z.B.:
xxxx_198erg6_876_2_50_stk._in_erffr.pdf
xxxx_1ee9e86_876_2_250_stk._in_err_tcg_33.pdf


Ich gebe in einer Inputbox eine 4-stellige Zahl ein (xxxx),
diese ist dann auch der Anfang des neuen Bildnamens.

Mein bisheriger Code für die Inputbox:

Code
  
//===================================================================================================
var inimyFolder_C3 = "C://!_PDF_GRUNDMODELLE"; // Pfad
var Datei_01 = text_edit_abox1.editContents // Inputbox
var myDoc = app.documents[0];
var myDocument = app.activeDocument;
// ===============================================================================================
var oldSuffix = "0000_Grund.pdf";
var newSuffix = Datei_01 + ".pdf";

myLinks = myDoc.links;
for (oneLink=myLinks.length-1;oneLink>-1;oneLink--) {
myLink = myLinks[oneLink];
myName = String(File.encode(myLink.name.split(oldSuffix).join(newSuffix)));
myNewLink = File(inimyFolder_C3 + "/" + myName);
try{
myLink.relink(myNewLink);
myLink.update();
}
catch(e){}
}
// ===============================================================================================




Vielen Dank schon mal für Eure Tips.
Grüße Volker
X

Bilder tauschen - mit variablen Dateinamen - InDesign per Javascript

Marc Sidon
Beiträge gesamt: 262

26. Jul 2019, 11:21
Beitrag # 2 von 5
Beitrag ID: #571237
Bewertung:
(4063 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Volker,

was genau ist denn jetzt Deine Frage / Dein Problem?

Gruß,
Marc


als Antwort auf: [#571210]

Bilder tauschen - mit variablen Dateinamen - InDesign per Javascript

vhausw
Beiträge gesamt: 65

26. Jul 2019, 12:47
Beitrag # 3 von 5
Beitrag ID: #571240
Bewertung:
(4039 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marc,
mein Problem ist der variable Bild-Name.

Was ich möchte ist nur ein Bildaustausch von Bild1 nach Bild2.

Was geht ist:
Code
var oldSuffix	=	"0000" + ".pdf";    
var newSuffix = "1000" + ".pdf";








Was ich nicht hinbekomme:
Code
var oldSuffix	=	"0000" + "_variable_1" + ".pdf";    
var newSuffix = "1000" + "_variable_2_Muster" + ".pdf";




Ich möchte einfach die Variable nach dem Bereich "0000" und dem ".pdf" bei dem Bildaustausch ignorieren.
Das Script soll einfach nach dem "0000" schauen und
durch das Neue Bild z.B.: "1000" ersetzen.

Der Neue Bild-Name kommt über ein Eingabefeld zustande.
Aus diesem Grund hatte ich in meinem oberen Script Ausschnitt diese Zeile drinnen:
Code
var Datei_01 = text_edit_abox1.editContents // Inputbox    
var newSuffix = Datei_01 + ".pdf"




Das Script soll also einfach den Bereich "_variable_1" / "_variable_2_Muster" ignorieren.

OK, vielleicht schreibe ich einfach zu wirr und unverständlich.
Danke nochmals.
Grüße Volker


als Antwort auf: [#571210]

Bilder tauschen - mit variablen Dateinamen - InDesign per Javascript

Marc Sidon
Beiträge gesamt: 262

26. Jul 2019, 14:03
Beitrag # 4 von 5
Beitrag ID: #571241
Bewertung:
(4000 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das geht so nicht.
Du musst den exakten Bildnamen haben, sonst kannst Du das eine Bild nicht durch das andere Bild ersetzen. Sowas wie "ignorieren" musst Du selber programmieren, indem Du die vorhanden existierenden Dateien durchsuchst und dabei selber prüfst, welche die von Dir gewünschte Datei ist...

Code
var sourceFolder = Folder("C:\\temp"); 
if (sourceFolder != null) {
var fileList = sourceFolder.getFiles();
...
}


Und dann kannst Du in der flieList die Datei suchen, die mit "1000" beginnt und mit ".pdf" endet.

Oder Du holst direkt die "Files" über die Suchmaske:

Code
var sourceFolder = Folder("C:\\temp"); 
if (sourceFolder != null) {
var fileList = sourceFolder.getFiles(Datei_01 + "*.pdf");
...
}


Dann solltest Du, sofern es nur eine Datei gibt, die mit der Zahl in Datei_01 anfängt finden und kannst die dann über "fileList[0]" holen und benutzen.

Gruß,
Marc


als Antwort auf: [#571240]
(Dieser Beitrag wurde von Marc Sidon am 26. Jul 2019, 14:07 geändert)

Bilder tauschen - mit variablen Dateinamen - InDesign per Javascript

vhausw
Beiträge gesamt: 65

26. Jul 2019, 17:43
Beitrag # 5 von 5
Beitrag ID: #571244
Bewertung:
(3952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marc,
vielen Dank für die Info.
Bin gerade schon an einer neuen Baustelle dran.

Werde deine Vorschläge am WE mal einbauen und Testen.

Vielleicht muss ich die neuen Bilddaten ("1000") einfach umbenennen.
Code
var oldSuffix	=	"0000" + ".pdf";      
var newSuffix = "1000" + ".pdf";




so ging es ja auch automatisch.

Es sind leider Hunderte von Bilddaten.

Also gut.
Dann schon mal ein schönes, nicht zu heißes WE.

Grüße Volker


als Antwort auf: [#571241]
X