[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Bilder ersetzen in einer bestimmten Ebene

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

Bilder ersetzen in einer bestimmten Ebene

jlo
Beiträge gesamt: 93

22. Nov 2012, 12:38
Beitrag # 16 von 23
Beitrag ID: #504488
Bewertung:
(4129 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
perfekt. Herzlichen Dank!


als Antwort auf: [#504461]
X

Bilder ersetzen in einer bestimmten Ebene

Ka Ninchen
Beiträge gesamt: 11

3. Mär 2022, 10:57
Beitrag # 17 von 23
Beitrag ID: #582858
Bewertung:
(3728 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
Wahnsinn wie die Zeit vergeht. Das war fast vor 10 Jahren.

Kannst du mir da weiter helfen?

Ich hätte zu Folgender Zeile eine Frage.
var sourceFolder = new Folder ("/d/ordner/ordner");
Ich stelle das System um. Die Daten werden im Teams abgelegt.
Dadurch hat jeder einen individuellen Pfad ("C:/Users/[Benutzername]/ordner/ordner");
Ich bin dann auf das Thema Relative und Absolute Pfade gekommen. Geht das im Script auch? Mein Bauch sagt nein, da ich meine Scripte nicht in allen Ordner ablegen kann.
Oder ist es möglich, das mein Script den Benutzer erkennt und über eine Variable Ihn einträgt?
Oder kann ich auch https://... angeben?

Antwort auf: Hallo Ka Ninchen,

danke für die Dateien. Jetzt kann ich die Fehlermeldung bestätigen.

Und der Störenfried war rasch gefunden: Eine Phantom-Textdatei, welche zwar im Verknüpfungs-Bedienfeld erscheint, aber im Dokument nicht mehr plaziert ist.

Abhilfe: Das Dokument als ".idml" exportieren und dann wieder öffnen.

In der zweiten Version des Scripts habe ich den Code etwas umgestellt. Es ist effizienter, wenn nur nach dem Namen der Ebene gefragt wird, wenn der aktuelle Bildname mit einem Element des Arrays 'oldNames' übereinstimmt.

Um dabei eine eventuelle Fehlermeldung zu vermeiden, wird die Abfrage des Ebenen-Namens mit einem 'try'-Wickel umgeben.

Neu ist auch, dass Bilder, welche nicht im Array 'oldNames' vorkommen, den Problemzähler nicht hochzählen.

Code
  

//BilderNeuVerknuepfen_502d.js
//DESCRIPTION:Bilder auswechseln

// der Pfad des Quellordners
var sourceFolder = new Folder ("/d/ordner/ordner");
// der Name der Zielebene
var targetLayer = "deutsch";

// die Liste der bestehenden Bilder
var oldNames = new Array ("auto_de.eps", "loewe_de.eps");
// die Liste der neuen Bilder
var newNames = new Array ("car_en.eps", "lion_en.eps");

// die Verknüpfungen des Dokuments
var allLinks = app.documents[0].links;

// eine Problem-Zähler-Variable initialisieren
var probCtr = 0;
// eine Schleife durch die Links
for (var p=0; p<allLinks.length; p++) {
// die Flagge 'okay' auf "wahr" setzen
var okay = true;
// die aktuelle Verknüpfung
var curLink = allLinks[p];
// der Name des aktuellen Bildes
var curName = curLink.name;
// eine Schleife durch den Array 'oldNames'
for (var k=0; k<oldNames.length; k++) {
// wenn der Name mit dem aktuellen 'oldName' übereinstimmt ...
if (curName == oldNames[k]) {
try {
// versuchen, den Namen der Ebene zu bekommen
var layerName = allLinks[p].parent.parent.itemLayer.name;
// testen, ob der Name mit jenem der Zielebene übereinstimmt
if (layerName == targetLayer) {
try {
// ... den neuen Pfad vorbereiten
var newLink = File (sourceFolder + "/" + newNames[k]);
// wenn die Datei existiert ...
if (newLink.exists) {
// ... neu verknüpfen
curLink.relink(newLink);
// die Schleife verlassen
break;
}
else {
okay = false;
break;
}
}
catch (e) {
okay = false;
break;
}
}
}
catch (e) {
}
}
}
// wenn ein Bild nicht gefunden wurde ...
if (okay == false) {
// den Zähler um eins erhöhen
probCtr++;
}
}

// den Anwender informieren
if (probCtr == 0) {
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(1500);
// das Fenster schliessen
dlog.close();
}
else {
if (probCtr == 1) {
alert ("Ein Bild wurde nicht ausgetauscht.", "Achtung");
}
else {
alert ("" + probCtr + " Bilder wurden nicht ausgetauscht.", "Achtung");
}
}

Anstelle der blossen Zahl könnten wenigstens die Namen der fehlenden Bilder angegeben werden.
Aber diese Ergänzung würde ich erst auf Anfrage einfügen.

Weil:
Erstens wird kaum jemand dieses Script einsetzen.
Zweitens hat sich der OP nicht mehr gemeldet.
Und das ist nicht gerade die feine Art ...

Gruss, Hans



als Antwort auf: [#504188]

Bilder ersetzen in einer bestimmten Ebene

Hans Haesler
  
Beiträge gesamt: 5826

3. Mär 2022, 11:29
Beitrag # 18 von 23
Beitrag ID: #582859
Bewertung:
(3701 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ka Ninchen,

im Moment bin ich im Urlaub in den Bergen. Und werde mich erst Samstagabend um Dein Anliegen kümmern können.

Doch sehr wahrscheinlich wird ein versierter Mitleser vorher aushelfen können.

Gruss, Hans


als Antwort auf: [#504488]

Bilder ersetzen in einer bestimmten Ebene

Thomas Richard
Beiträge gesamt: 19339

3. Mär 2022, 12:39
Beitrag # 19 von 23
Beitrag ID: #582861
Bewertung:
(3656 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ein Pfad innerhalb des Userordners wird mit der Tilde als Platzhalter für den jeweiligen Benutzer erzeugt:

Code
var sourceFolder = new Folder ("~/ordner/ordner"); 



als Antwort auf: [#582859]

Bilder ersetzen in einer bestimmten Ebene

Ka Ninchen
Beiträge gesamt: 11

3. Mär 2022, 12:40
Beitrag # 20 von 23
Beitrag ID: #582862
Bewertung:
(3655 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
vielen Dank für die Info.
Ich wünsche dir viel Spaß und Erholung.

Ich bin auf eine Lösung für mich gekommen.

Ich muss den Pfad von ("C:/Users/[Benutzername]/ordner/ordner") in ("../ordner/ordner") ändern dann klappt es bei mir.

Liebe sonnige Grüße
Ka Ninchen


als Antwort auf: [#582859]

Bilder ersetzen in einer bestimmten Ebene

Thomas Richard
Beiträge gesamt: 19339

3. Mär 2022, 12:51
Beitrag # 21 von 23
Beitrag ID: #582865
Bewertung:
(3640 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Ich bin auf eine Lösung für mich gekommen.

Ich muss den Pfad von ("C:/Users/[Benutzername]/ordner/ordner") in ("../ordner/ordner") ändern dann klappt es bei mir.


Kann klappen, muss aber nicht.

mit den beiden Punkten vor dem Pfad gehst du einfach vom aktuellen Standpunkt, eine Hierarchiebene aufwärts und biegst dann in /ordner/ordner ab.

Wenn das System aber aus welchem Grunde auch immer zuvor an einem anderen Punkt als dem gerade aktiven steht, dann landest du von dort aus gesehen wiederum in einem Ordner der sich eine Eben über dem aktuellen Standort befindet und von dort in den Pfad /ordner/ordner/ abzubiegen versucht.


als Antwort auf: [#582862]
(Dieser Beitrag wurde von Thomas Richard am 3. Mär 2022, 12:52 geändert)

Bilder ersetzen in einer bestimmten Ebene

Peda
Beiträge gesamt: 97

3. Mär 2022, 13:28
Beitrag # 22 von 23
Beitrag ID: #582866
Bewertung:
(3589 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nicht jede:r hat OneDrive im Benutzerverzeichnis liegen.
Du kommst an das OneDrive-Verzeichnis über eine Umgebungsvariable dran.

Bei OneDrive for Business wäre die Zeile:

Code
var sourceFolder = new Folder ($.getenv("OneDrive") + "/ordner"); 


Und bei OneDrive (Privat) entsprechend

Code
var sourceFolder = new Folder ($.getenv("OneDriveConsumer") + "/ordner"); 


Liebe Grüße aus dem Rheinland

Peter


als Antwort auf: [#582858]
(Dieser Beitrag wurde von Peda am 3. Mär 2022, 13:35 geändert)

Bilder ersetzen in einer bestimmten Ebene

Ka Ninchen
Beiträge gesamt: 11

3. Mär 2022, 21:50
Beitrag # 23 von 23
Beitrag ID: #582871
Bewertung:
(3481 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Kann klappen, muss aber nicht.


Hallo Thomas,

Dann versuche ich die Tilde ~ mal aus. Wenn das die bessere Lösung ist.

Danke.

Wünsche einen schönen Abend
Ka Ninchen


als Antwort auf: [#582865]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!