[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

faxinger666
Beiträge gesamt: 167

23. Jan 2020, 17:21
Beitrag # 1 von 24
Bewertung:
(7170 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo ihr lieben FORENsiker ;-)

Ich weiß nicht ob das schon jemand versucht hat und ob es dafür auch schon ein skript gibt bzw. ob das überhaupt per skript möglich ist:

Folgende Aufgabenstellung:

Es sollen alle items einer Ebene aus Dokument A kopiert und
in das Inhaltsaufnahmewerkzeug geladen werden

Und dann in einem anderen Dokument B an der selben Stelle wieder in der Ursprungsgröße eingefügt und verlinkt werden.

Geht das überhaupt?

Bisher schaffe ich es nur über eine Gruppierung über alle items per Hand dass alle Elemnte aufgenommen werden.

Gibt es hier einen leichteren/effizienteren Weg?

Danke für Grübeln.
LG
faxinger
X

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

23. Jan 2020, 17:33
Beitrag # 2 von 24
Beitrag ID: #573698
Bewertung:
(7168 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nachtrag:

Das Ziel ist, dass ich letztlich 2 identische Dokumente habe, wobei Dokument B mit allen Elementen zu Dokument A verknüpft ist.

Sprich wenn ich eine Änderung eines Textes, oder eines Rahmens oder was auch immer in Dokument A habe, dann soll mir das in Dokument B angezeigt werden. (Über die Verknüpfungen aktualieren funktion)

Danke
LG
faxinger


als Antwort auf: [#573697]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

23. Jan 2020, 18:22
Beitrag # 3 von 24
Beitrag ID: #573699
Bewertung:
(7151 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielleicht geht es auch so: erstelle zuerst eine Kopie von Dokument A = Dokument B. Und dann verknüpfe alle Elemente aus Dokument B mit den korrespondierenden Elementen aus Dokument A. Über den Index sollte das doch funktionieren oder? LG faxinger


als Antwort auf: [#573698]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

4. Feb 2020, 16:08
Beitrag # 4 von 24
Beitrag ID: #573910
Bewertung:
(6889 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebe Skripter,

da die Reaktionen auf meinen Thread bisher eher verhalten waren versuche ich meine Aufgabenstellung zu präzisieren:

Der Ablauf sollte ja klar sein:

Alle Elemente aus DOK A in DOK B kopieren.
Dazu habe ich auch schon ein Skript gefunden.

Mein Weg wäre aber die Sache mit dem Inhaltsaufnahme/Inhaltplatzieren Werkzeug zu lösen, da dadurch eine Beziehung der Elemente in DOKB zu den Elementen in DOK A entsteht. (Alle Elemente in DOK B sind mit den Elementen aus DOK A verknüpft)

Vielleicht muss man es auch gar nicht über ein Skript lösen?
Woran ich scheitere ist, dass das Set (=alle Elemente) von DOK A standgenau und in der gleichen Größe in DOK B landet.

Habt ihr hierzu eine Idee?

Danke
LG
faxinger666


als Antwort auf: [#573699]

Inhaltsaufnahme Werkzeug mit Skript steuern

Uwe Laubender
Beiträge gesamt: 5318

4. Feb 2020, 16:57
Beitrag # 5 von 24
Beitrag ID: #573911
Bewertung:
(6880 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger666,

hat denn Dok A vom Seitenaufbau her eine Ähnlichkeit mit Dok B ?

Also Anzahl der Seiten, Größe der Seiten, Skalierung der Seiten, sind beide als Doppelseiten-Dokumente aufgebaut ( oder nicht )?

Zeig' mal konkret an Script-Code, was zu falschen Ergebnissen führt.
Und zeig vor allem die beiden Dokumente. Vielleicht liegt ja da bereits 'was im Argen.

Geht denn alles wie gewünscht, wenn Du das Inhaltsaufnahmewerkzeug ohne ein Skript benutzt?


als Antwort auf: [#573910]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

4. Feb 2020, 17:12
Beitrag # 6 von 24
Beitrag ID: #573912
Bewertung:
(6875 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

Skriptcode habe ich bis jetzt noch keinen, da ich nicht weiß wie ich das Inhaltsaufnahmewerkzeug ansteruern kann.

Die beiden Dokumente sind ident aufgebaut.
DOK B ist eine Kopie von DOK A.

Mit der normalen Inhaltswerkzeug kann ich auch alle Elemente auf einmal aufnehmen, ich kann auch alle Elemente in DOK B platzieren.

Mir geht es darum das auch standgenau zu tun.
Das Platzieren erfolgt ja mit einem Klick per Maus an einer bestimmten Stelle. Vielleicht gibt es auch einen Shortcut für standgenaues Einsetzen - so wie bei "an Originalposition einfügen" und ich habe den bisher nur übersehen?

LG
faxinger666


als Antwort auf: [#573911]

Inhaltsaufnahme Werkzeug mit Skript steuern

Uwe Laubender
Beiträge gesamt: 5318

4. Feb 2020, 19:48
Beitrag # 7 von 24
Beitrag ID: #573913
Bewertung: ||
(6857 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok. Dann habe ich noch nicht verstanden, weshalb die Elemente in Dok B nicht in der gleichen Größe ankommen. Hast Du da eine Erklärung?

Hier ein Beispiel mit contentPlace():

Code
var sourceDoc = app.documents[0]; 
var targetDoc = app.documents[1];

// The selected item will be content placed and linked:
var sourceItem = app.selection[0];

// If we need a placePoint we could get it from the source:
var gBSource = sourceItem.geometricBounds;

var targetDocSpread = targetDoc.spreads[0];


targetDocSpread.contentPlace
(
[ sourceItem ] , // Array of page items
true , // linkPageItems
false , // linkStories
false , // mapStyles
[ gBSource[1] , gBSource[0] ] // placePoint: Array with x and y coordinates
// destinationLayer
// showingOptions
);



als Antwort auf: [#573912]

Inhaltsaufnahme Werkzeug mit Skript steuern

Uwe Laubender
Beiträge gesamt: 5318

4. Feb 2020, 21:26
Beitrag # 8 von 24
Beitrag ID: #573914
Bewertung:
(6838 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wichtige Anmerkung:
Argument placePoint erwartet Werte in Points.
Das wird in der DOM-Dokumentation leider nicht erwähnt.

Schau auch zu, dass in beiden Dokumenten der 0-Punkt der Lineale an der gleichen Stelle liegt.


als Antwort auf: [#573913]

Inhaltsaufnahme Werkzeug mit Skript steuern

mdomino
Beiträge gesamt: 76

5. Feb 2020, 01:22
Beitrag # 9 von 24
Beitrag ID: #573915
Bewertung:
(6801 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Was ist denn letztendlich das Gesamtziel?
Also warum brauchst du zwei verknüpfte, identische Dokumente?

Je nachdem, was du vorhast, würde es vielleicht nicht schon ausreichen das InDesign-Dokument an sich (seitenweise) in das Zieldokument B zu platzieren?

Dann ist es ja ebenfalls verknüpft und Aktualisierungen würden sichtbar. Es könnten dann nur im Dokument B keine einzelnen page items mehr bearbeitet werden. Aber das würde den Script-Ablauf deutlich vereinfachen.


als Antwort auf: [#573697]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

5. Feb 2020, 08:59
Beitrag # 10 von 24
Beitrag ID: #573917
Bewertung:
(6764 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

vielen Dank für dein Skript. Das hilft mir schon sehr weiter.

Der Nullpunkt ist in beiden Dokumenten ident, da ja DOK B eine Kopie von DOK A ist.

Danke auch für den Hinweis mit den Points. Werde ich im Auge behalten.

Schönen Tag noch.


LG
faxinger666


als Antwort auf: [#573914]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

5. Feb 2020, 09:02
Beitrag # 11 von 24
Beitrag ID: #573918
Bewertung:
(6760 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo mdomino,

Danke für deine Antwort. Die Idee mit platzierten InDesign-Dokumenten ist zwar gut, aber für meine Zwecke nicht geeignet.

Da ich in DOK B immer wieder Elemente die von DOK übernommen wurden abändern bzw. löschen muss.

Daher benötige ich die Verlinkungen der einzelnen Elemente auf das DOK A.

LG
faxinger666


als Antwort auf: [#573915]

Inhaltsaufnahme Werkzeug mit Skript steuern

Uwe Laubender
Beiträge gesamt: 5318

5. Feb 2020, 10:40
Beitrag # 12 von 24
Beitrag ID: #573921
Bewertung:
(6734 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von faxinger666 …Danke auch für den Hinweis mit den Points. Werde ich im Auge behalten.


Ich denke, dass auch Einheiten wie Millimeter gehen.
Die müssen dann aber explizit verwendet werden. Nackte Zahlen werden als Werte in Points umgesetzt.

Weiter unten ein Beispiel:
Die Lineale stehen in beiden Dokumenten auf "Millimeter".
Wenn Du die geometricBounds der Auswahl abgreifst, werden nur Werte gespeichert.

Da placePoint Einheiten verarbeiten kann, aber per Default Points erwartet, kann man auch einen String für x- und y-Werte übergeben. Hab' das gerade eben erfolgreich getestet:

Code
var sourceDoc = app.documents[0];  
var targetDoc = app.documents[1];

// The selected item will be content placed and linked:
var sourceItem = app.selection[0];

// If we need a placePoint we could get it from the source:
var gBSource = sourceItem.geometricBounds;

var targetDocSpread = targetDoc.spreads[0];


targetDocSpread.contentPlace
(
[ sourceItem ] , // Array of page items
true , // linkPageItems
false , // linkStories
false , // mapStyles
[ gBSource[1]+"mm" , gBSource[0]+"mm" ] // placePoint: Array with x and y coordinates
// destinationLayer
// showingOptions
);



als Antwort auf: [#573917]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

5. Feb 2020, 11:27
Beitrag # 13 von 24
Beitrag ID: #573924
Bewertung:
(6719 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

super, vielen Dank dafür.

Die verbleibende Frage für mich ist ob man nicht letztlich die anderen Schritte auch automatisieren kann?

Das wäre der Ablauf:
DOK A ist geöffnet. (app.activeDocument)

Erstelle eine Kopie von DOK A = DOK B (save copy as ??)

Öffne DOK B (app.documents[1])

Lösche alle Elemente in DOK B auf der Ebene "Artikel" (remove all pageItems on layer Artikel)

Kopiere alle Elemente von der Ebene "Artikel" aus DOk A mit dem Inhaltsaufnahme/Platzieren Werkzeug in DOK B auf die Ebene "Artikel"

Speichere DOK
Schließe DOK A und DOK B


Wenn du mir da noch helfen könntest wäre ich dir sehr dankbar.

Vielen vielen Dank
LG
faxinger666


als Antwort auf: [#573921]

Inhaltsaufnahme Werkzeug mit Skript steuern

Uwe Laubender
Beiträge gesamt: 5318

5. Feb 2020, 13:46
Beitrag # 14 von 24
Beitrag ID: #573925
Bewertung:
(6695 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo faxinger666,
das ganze Skript werde ich Dir nicht schreiben. Jedenfalls nicht kostenlos.
Du kannst mir aber gerne einen Auftrag geben.

Was ich hier im Rahmen der Skriptwerkstatt aber machen kann und werde, ist verschiedene Aspekte Deiner Aufgabe mit Dir zu diskutieren.

Du bist Dir dessen vielleicht nicht bewusst, aber das Updaten der einzelnen Elemente ist nicht ganz perfekt was die Synchronizität angeht mit der diese Funktion arbeitet.

Synchronisiere beispielsweise mal ein Rechteck.

Position im Original: 70, 70
Position im anderen Dokument: 70, 70

Bei beiden Dolumenten ist der Bezugspunkt für die Auswahl von Objekten im Layout-Fenster auf Linksoben eingestellt.

Dann drehst Du das Rechteck im Original um das linke obere Eck auf 15°.

Position im Original: 70, 70, Drehwinkel: 15°
Position im anderen Dokument: 70, 70, Drehwinkel: 0°
Der Link zum Original ist nicht aktualisiert.

Aktualisiere die Verknüpfung. Ergebnis:
Position im anderen Dokument: 70, 98,645 mm, Drehwinkel: 15°

Nur mal das als Beispiel bevor Du mit dem zeitraubenden Schreiben von Code beginnst.


als Antwort auf: [#573924]

Inhaltsaufnahme Werkzeug mit Skript steuern

faxinger666
Beiträge gesamt: 167

5. Feb 2020, 14:53
Beitrag # 15 von 24
Beitrag ID: #573926
Bewertung:
(6686 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für deine Antwort.

Nein ich ging natürlich nicht davon aus, dass du mir das gesamte Skript schreibst, ich bat nur um Hilfe dabei. :-)

Den Punkt mit den geänderten Positionen von Objekten hatte ich so noch nicht bedacht. Danke für den Hinweis.

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

LG
faxinger666


als Antwort auf: [#573925]
X