[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Inhaltsaufnahme Werkzeug mit Skript steuern

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

Inhaltsaufnahme Werkzeug mit Skript steuern

WernerPerplies
Beiträge gesamt: 2762

5. Feb 2020, 15:58
Beitrag # 16 von 24
Beitrag ID: #573927
Bewertung:
(3057 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger666,

Zitat Kann man generell die Position von Objekten verknüpfen? (CS6)


Ich würde fragen:
Kann man die Eigenschaften von InDesign-Objekten synchronisieren?
Und ich denke, das könnte man auf jeden Fall per Skript.

Automatisch?
So wie ich InDesign kenne, eher nicht.

Manuell ausgelöst?
Sollte funktionieren, aber ob Programmieraufwand und Zeitverhalten vertretbar sind, ist eher fraglich.


als Antwort auf: [#573926]
X

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

5. Feb 2020, 16:36
Beitrag # 17 von 24
Beitrag ID: #573928
Bewertung:
(3051 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

danke für deine Nachricht. Leider kann ich mir nicht vorstellen wie das gehen könnte.

Hättest du ein Beispiel mit nur einer Eigenschaft die man synchronisieren kann?

LG
faxinger666


als Antwort auf: [#573927]

Inhaltsaufnahme Werkzeug mit Skript steuern

WernerPerplies
Beiträge gesamt: 2762

5. Feb 2020, 16:59
Beitrag # 18 von 24
Beitrag ID: #573930
Bewertung:
(3047 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger666,

Zitat Hättest du ein Beispiel mit nur einer Eigenschaft die man synchronisieren kann?


Nein, der Aufwand ist mir zu groß, denn aus meiner Sicht ist der Aufwand für eine oder alle Eigenschaften prinzipiell gleich groß.

Generell geht das aber so:
1. Du benötigst eine Buchführung, die alle Verknüpfungen verwaltet. Sie sollte aus Objekten bestehen, die Quellen und Ziele enthält (ähnlich wie z. B. bei Hyperlinks).
2. Dann klapperst Du diese Liste ab, liest für jede Quelle Eigenschaft für Eigenschaft aus und über trägst den Wert auf alle Zielobjekte.

Soweit so einfach, aber du musst natürlich auch prüfen, ob noch alle Objekte vorhanden sind, und bei jeder Änderung (Eigenschaftsänderung, Erzeugung neuer Objekte und Löschung) Deine Buchführung aktualisieren und abhängige Objekte entsprechend anpassen.

Das führt jedesmal zu einer Menge von Aktionen beim Öffnen, Speichern, Löschen und Ändern von Dateien.


als Antwort auf: [#573928]

Inhaltsaufnahme Werkzeug mit Skript steuern

Uwe Laubender
Beiträge gesamt: 5317

5. Feb 2020, 20:45
Beitrag # 19 von 24
Beitrag ID: #573938
Bewertung:
(3025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von faxinger666 …Kann man generell die Position von Objekten verknüpfen? (CS6)


Hallo faxinger666,

genau das ( und anderes ) sollte die Methode contentPlace() machen.

Leider nicht immer mit Erfolg. Es bedarf umfangreicher Testreihen herauszufinden, was gut geht und was nicht.
contentPlace() wurde möglicherweise nie einer Revision oder einem Bugfixing seitens der Entwickler unterzogen.

Oder Du schreibst eben ein Skript wie es Werner skizziert hat und verzichtest weitgehend auf contentPlace().

Für Versionen ab InDesign CC 2018 gibt's auch die transformAttributeOptions eines Objektstils, deren Eigenschaften man benutzen könnte. Details hier in Gregors DOM-Dokumentation:
https://www.indesignjs.de/...AttributeOption.html


als Antwort auf: [#573926]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

5. Feb 2020, 22:16
Beitrag # 20 von 24
Beitrag ID: #573940
Bewertung:
(3002 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Werner und Uwe für eure Antworten,

ich werde es jedenfalls mit dem ContentPlacer versuchen.

Jedoch stehe ich schon ganz a Anfang an:

Code
var _dokA = app.documents[0]; 
var parentfolder = _dokA.filePath;
$.writeln(parentfolder);
var _dokA_name = _dokA.name;
var _nameA_teil = _dokA_name.slice(0,-5);
var _dokB_name = _nameA_teil + "_Kopie.indd";
var _dokB_pfad = _dokA.filePath+"/"+_dokB_name;
$.writeln (_dokB_pfad);
var _dokB = _dokA.SaveAs(_dokB_pfad);


Ich habe keine Möglichkeit gefunden dokA als Kopie zu speichern, auch mit saveAs komme ich nicht weiter.

Ich möchte bloss mein offenes Doukument A als Kopie im selben Ordner abspeichern.

Bin am Verzweifeln.

Danke
Lg
faxinger666


als Antwort auf: [#573938]

Inhaltsaufnahme Werkzeug mit Skript steuern

WernerPerplies
Beiträge gesamt: 2762

6. Feb 2020, 07:07
Beitrag # 21 von 24
Beitrag ID: #573943
Bewertung: |||
(2935 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin faxinger666,

eine genaue Fehlermeldung wäre hilfreich.

Hier meine Version (die Fehlerbehandlung wäre noch ausbaufähig!):
Code
// FileName: WpsSaveAs.jsx 
// © 2020 by Werner Perplies, EDV-Anwendungsberatung
// http://www.weepee.de, email: werner.perplies@weepee.de
// created: Thu Feb 06 2020 06:44:16 GMT+0100
// [end of header]
#target indesign-8.0
#targetengine "WpsSaveAs"
alert(main());

/*String*/function main(){
try{
var /*String*/resultMsg = "",
/*Document*/doc = app.documents[0],
/*String*/name = doc.name.split(".")[0],
/*String*/folder = "";
if (doc.saved){
folder = doc.filePath;
doc =doc.save(File(folder + "/" + name + "_Kopie-indd"));
resultMsg = "Dokument wurde als \n\"" + doc.fullName + "\"\ngespeichert.!";
}
else{
resultMsg = "Fehler: Das Dokument wurde noch nicht gespeichert";
}
}
catch (error){
resultMsg = "Fehler: "+ error.message + "\nFehlernummer: " + error.number + "\nin Zeile: " + error.line + "\n";
}
return resultMsg;
}



als Antwort auf: [#573940]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

6. Feb 2020, 08:48
Beitrag # 22 von 24
Beitrag ID: #573944
Bewertung:
(2919 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,

mit deiner Version klappt es hervorragend ohne Fehler.

Vielen Dank dafür.

LG
faxinger666


als Antwort auf: [#573943]

Inhaltsaufnahme Werkzeug mit Skript steuern

WernerPerplies
Beiträge gesamt: 2762

6. Feb 2020, 08:52
Beitrag # 23 von 24
Beitrag ID: #573945
Bewertung:
(2914 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin faxinger666,

Zitat mit deiner Version klappt es hervorragend ohne Fehler.


Dann bleibt die Frage, warum es bei Dir nicht geklappt hat.

Irgendeine Idee?


als Antwort auf: [#573944]

Inhaltsaufnahme Werkzeug mit Skript steuern

WernerPerplies
Beiträge gesamt: 2762

6. Feb 2020, 09:14
Beitrag # 24 von 24
Beitrag ID: #573946
Bewertung:
(2907 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin faxinger666,

noch einmal ich.

Zitat mit deiner Version klappt es hervorragend ohne Fehler.


Eher zufällig!

Weil Du vermutlich eine bereits gespeicherte Datei offen hattest, im vollständigen Dateinamen nur ein Punkt vorhanden war und keine Datei mit dem neuen Namen bereits offen oder vorhanden war.

Kurz:
Wenn ein Skript funktioniert, bedeutet es nicht, dass es korrekt programmiert ist.


als Antwort auf: [#573944]
X