[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Indesign CS5.5 Script "markiertes Bild in einem bestimmten Verzeichnis speichern"

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

Indesign CS5.5 Script "markiertes Bild in einem bestimmten Verzeichnis speichern"

mhagemann
Beiträge gesamt:

12. Jun 2013, 11:26
Beitrag # 1 von 5
Bewertung:
(2487 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich möchte gerne in einem inDesign Dokument ein einzelnes Bild markieren dies soll dann an einen bestimmten Pfad exportiert werden. Besonderheit soll aber sein das der original Dateiname beibehalten werden soll. Also das Bild an einen bestimmten Pfad kopieren gelingt mir auch schon jedoch nie mit dem originalen Dateinamen. Habe auch schon ein Script gefunden welches das markierte Bild extern bearbeiten lässt und dort ist dann in der Kopfzeile auch der Originalname der Code sieht folgender Maßen aus:

var myItems = app.selection;
for (var j = myItems.length - 1; j >= 0; j--) {
var curSel = myItems[j];
var selType = curSel.constructor.name;
if (selType == "Rectangle" || selType == "Oval" || selType == "Polygon") {
if (curSel.graphics.length != 0) {
var curImage = curSel.graphics[0];
if (curImage.itemLink.status != LinkStatus.LINK_EMBEDDED && curImage.itemLink.status != LinkStatus.LINK_MISSING ) {
curImage.itemLink.editOriginal();
}
}
}
else if (selType == "Image" || selType == "EPS" || selType == "PDF") {
var curImage = curSel;
if (curImage.itemLink.status != LinkStatus.LINK_EMBEDDED && curImage.itemLink.status != LinkStatus.LINK_MISSING ) {
curImage.itemLink.editOriginal();
}
}
}

Vielen Dank schonmal für eure Hilfe!

lg Max
X

Indesign CS5.5 Script "markiertes Bild in einem bestimmten Verzeichnis speichern"

Hans Haesler
  
Beiträge gesamt: 5818

13. Jun 2013, 00:00
Beitrag # 2 von 5
Beitrag ID: #513796
Bewertung:
(2424 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Max,

herzlich willkommen in der Skriptwerkstatt auf HDS! :-)

Versuche es bitte mal mit diesem Script:

Code
// eine Vorauswahl 
var selFolder = Folder ("~/Documents/");
// den Zielordner wählen
var targetFolder = File (Folder.selectDialog("Den Zielordner auswählen.", selFolder));
var testObj = "" + targetFolder;
// die Ordner-Auswahl prüfen
if (testObj.match("null")) {
exit();
}

// die Auswahl
var allItems = app.selection;
// eine Schleife durch die Auswahl
for (var j=0; j<allItems.length; j++) {
var curSel = allItems[j];
// die Art der Auswahl
var selType = curSel.constructor.name;
if (selType == "Rectangle" || selType == "Oval" || selType == "Polygon") {
if (curSel.allGraphics.length != 0) {
// der aktuelle Link
var curLink = curSel.allGraphics[0].itemLink;
}
}
else if (selType == "Image" || selType == "EPS" || selType == "PDF") {
// der aktuelle Link
var curLink = curSel.itemLink;
}
// den Status prüfen
if (curLink.status != LinkStatus.LINK_EMBEDDED && curLink.status != LinkStatus.LINK_MISSING ) {
// der aktuelle Pfad
var curPath = File (curLink.filePath);
// den Namen des Bildes speichern
var imgName = (curLink.name);
// der neue Pfad
var newPath = File (targetFolder + "/" + imgName);
// testen, ob das Bild schon vorhanden ist
if (newPath.exists == false) {
// die Datei kopieren
curPath.copy(newPath);
}
}
}

// das Ende der Aktion verkünden
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(999);
// das Fenster schliessen
dlog.close();

Zum Teil übernommen aus einem Archivierungs-Script.
Vor vielen Jahren mit AppleScript für QuarkXPress entwickelt.
Später als JavaScript für InDesign portiert.

Gruss, Hans


als Antwort auf: [#513738]

Indesign CS5.5 Script "markiertes Bild in einem bestimmten Verzeichnis speichern"

mhagemann
Beiträge gesamt:

13. Jun 2013, 10:24
Beitrag # 3 von 5
Beitrag ID: #513804
Bewertung:
(2386 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank ist genau das was ich gesucht habe. Ich brauche zwar immer den gleichen Zielordner aber das konnte ich schon abändern!

Du hast meinen Tag gerettet! :)

lg max


als Antwort auf: [#513796]

Indesign CS5.5 Script "markiertes Bild in einem bestimmten Verzeichnis speichern"

Hans Haesler
  
Beiträge gesamt: 5818

14. Jun 2013, 21:02
Beitrag # 4 von 5
Beitrag ID: #513865
Bewertung:
(2290 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Max,

bitte sehr.

Noch ein Hinweis: Du kannst auch mehrere Bildrahmen auswählen. Sie werden der Reihe nach abgearbeitet.

Und zum Schluss noch dies: Wenn man anstelle von copy die Methode copyLink einsetzt, dann wird im geöffneten Dokument die Verknüpfung auf die kopierte Datei im Zielordner geändert.

Code
			// die Datei kopieren 
curPath.copyLink(newPath);

Falls Du keinen Bedarf dafür hast, kann es jemand anderem nützlich sein.

Gruss, Hans


als Antwort auf: [#513804]
(Dieser Beitrag wurde von Hans Haesler am 14. Jun 2013, 23:22 geändert)

Indesign CS5.5 Script "markiertes Bild in einem bestimmten Verzeichnis speichern"

Hans Haesler
  
Beiträge gesamt: 5818

15. Jun 2013, 21:01
Beitrag # 5 von 5
Beitrag ID: #513877
Bewertung:
(2230 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Max,

eine Präzisierung zu meinem letzten Hinweis.

Es genügt nicht, einfach copy durch copyLink zu ersetzen. Man muss auch anstelle des aktuellen Pfades die festgestellte Verknüpfung nehmen.

Am besten nochmals das Script. Dieses Mal mit einem fixen Pfad für den Zielordner:

Code
// der Zielordner 
var targetFolder = Folder ("~/Documents/HDS_Skriptwerkstatt/Zielordner");

// die Auswahl
var allItems = app.selection;
var nItems = allItems.length;

if (nItems == 0) {
alert ("Es ist nichts ausgewählt.", "Achtung");
exit();
}

// eine Schleife durch die Auswahl
for (var j=0; j<nItems; j++) {
var curSel = allItems[j];
// die Art der Auswahl
var selType = curSel.constructor.name;
if (selType == "Rectangle" || selType == "Oval" || selType == "Polygon") {
if (curSel.allGraphics.length != 0) {
// der aktuelle Link
var curLink = curSel.allGraphics[0].itemLink;
}
}
else if (selType == "Image" || selType == "EPS" || selType == "PDF") {
// der aktuelle Link
var curLink = curSel.itemLink;
}
// den Status prüfen
if (curLink.status != LinkStatus.LINK_EMBEDDED && curLink.status != LinkStatus.LINK_MISSING ) {
// den Namen des Bildes speichern
var imgName = (curLink.name);
// der neue Pfad
var newPath = File (targetFolder + "/" + imgName);
// testen, ob das Bild schon vorhanden ist
if (newPath.exists == false) {
// die Datei kopieren
curLink.copyLink(newPath);
}
}
}

// das Ende der Aktion verkünden
var dlog = new Window("palette");
dlog.size = [320,100];
dlog.add("statictext", [80, 100, 320, 116], "Fertig.");
dlog.show();
// eine kleine Pause
$.sleep(999);
// das Fenster schliessen
dlog.close();

Gruss, Hans


als Antwort auf: [#513865]
X

Aktuell

PDF / Print
300_PDF20

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
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/