[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Eingebettete Grafik in Rahmen kopieren

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

Eingebettete Grafik in Rahmen kopieren

peterhenrich
Beiträge gesamt: 139

9. Dez 2013, 16:49
Beitrag # 1 von 11
Bewertung:
(3918 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

leider finde ich auch dieses Mal nicht selber eine Antwort auf eine selbstgestellte Aufgabe :-)

1) Ich habe eine AI-Datei, in der sich nur Pfade befinden, auf Seite 2 eines INDD positioniert. Die Grafik ist über "Verknüpfung einbetten" dauerhaft importiert und hat keine Verbindung mehr zu der Datei auf der HD.

2) Auf Seite 1 des Dokuments habe ich nun mehrere Rectangles, in die ich die Grafik einsetzen möchte.

Hierzu habe ich folgende Fragen:

A) Wie kann ich überhaupt ein Pfad-Konstrukt in einen anderen Rahmen kopieren? Sämtliche Versuche, die so ähnlich wie das folgende Teil aussahen, scheiterten:
Code
   _myRectangle.graphics[0].itemLink = _doc.pageItems.itemByName("Snowflakes").graphics[0]; 


B) Die Grafik "Snowflakes" soll so in die Rectangles eingesetzt werden, dass die Grafik durch die freibleibenden Zwischenräume unterbrochen wird, sich in dem neuen Rectangle aber so fortsetzt, als sei sie nicht unterbrochen worden (hoffentlich wird klar, was ich meine :-) Gibt es die Möglichkeit, alle Rectangles über den Pathfinder zusammenzufassen, dann einmal die "Snowflakes" in das eine große Rectangle einzufügen und letzteres dann wieder zu trennen. Oder muss ich den Versatz für alle Rectangles einzeln ausrechnen und anwenden?
X

Eingebettete Grafik in Rahmen kopieren

Hans Haesler
  
Beiträge gesamt: 5826

10. Dez 2013, 09:57
Beitrag # 2 von 11
Beitrag ID: #520770
Bewertung:
(3857 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

itemLink bezieht sich auf eine Bilddatei auf der Harddisk. Aber auch wenn diese vorhanden wäre, würde es so nicht klappen.

Das eingebettete Bild des Bildrahmens "Snowflakes" kann so in den Bildrahmen "Ziel_01" kopiert werden:

Code
var _doc = app.documents[0]; 
_doc.pageItems.itemByName("Snowflakes").graphics[0].select();
app.copy();
_doc.pageItems.itemByName("Ziel_01").select();
app.pasteInto();

Voraussetzung (ab CS5) ist, dass beide Rahmen im Bedienfeld "Ebenen" benannt worden sind (nicht im Bedienfeld "Skriptetikett").

Zum Punkt B): Bitte Musterdokumente im Zustand "vorher" und "nachher" zur Verfügung stellen. Sonst ist es schwierig, gezielt zu helfen.

Gruss, Hans


als Antwort auf: [#520744]
(Dieser Beitrag wurde von Hans Haesler am 10. Dez 2013, 09:57 geändert)

Eingebettete Grafik in Rahmen kopieren

peterhenrich
Beiträge gesamt: 139

10. Dez 2013, 10:10
Beitrag # 3 von 11
Beitrag ID: #520772
Bewertung:
(3846 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für den Hinweis. So manche Syntax-Dinge blicke ich manchmal nicht. Ich denke manchmal, dass ich es habe, und dann fehlt am Ende doch irgendwo wieder ein "getElements()[0]" oder so.

Gibt es auch eine Lösung ohne Copy-und-Paste? Im Buch von Fellenz steht, dass man das besser ohne diese Punkte macht. Das Script soll in ähnlicher Art und Weise auch mal auf einem Server laufen, wo man die Zwischenablage nicht immer im Griff hat oder andere Scripte diese auch gerade nutzen.

Gruß

Peter


als Antwort auf: [#520770]

Eingebettete Grafik in Rahmen kopieren

Hans Haesler
  
Beiträge gesamt: 5826

10. Dez 2013, 10:24
Beitrag # 4 von 11
Beitrag ID: #520773
Bewertung:
(3836 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

Gregor schreibt vorsichtigerweise "ist eigentlich nie notwendig". Doch im vorliegenden Fall scheint es keine andere Lösung zu geben. Denn mit duplicate() sind als Ziel nur Druckbogen, Seiten oder Ebenen vorgesehen. Aber keine Rahmen.

Ich würde von jeder Schneeflocke eine eigene Illustrator-Datei erzeugen und dann jede einzeln mit place() in die Rahmen importieren.

Gruss, Hans


als Antwort auf: [#520772]

Eingebettete Grafik in Rahmen kopieren

Gerald Singelmann
  
Beiträge gesamt: 6269

30. Dez 2013, 01:12
Beitrag # 5 von 11
Beitrag ID: #521425
Bewertung:
(3687 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hatte bisher diese Diskussion nur mit einem Auge mitbekommen.

Heute fiel mir auf, dass es eine Funktion in InDesign ab CS6 gibt, die anscheinend quasi keiner auf der Pfanne hat. Mich bisher inklusive.
Nämlich das ContentPlacerTool.

Damit kann man sozusagen ein Alias von einem PageItem in ein anderes PageItem platzieren. Bei Bildern ist es dann halt ein Duplikat.

Das Tool sollte also eine Möglichkeit bieten, ein Bild in einen anderen Rahmen zu kopieren, ohne Copy und Paste zu bemühen.

Hier ein Fragment, das den Gebrauch verdeutlicht.

Code
#target indesign 

setup();
main();

function setup() {
var file = File.openDialog("Welches Bild?");
if ( file == null ) exit();

var doc = app.documents.add();
var page = doc.pages.item(0);
for (var n = 0; n < 10; n++) {
var r = page.rectangles.add();
r.geometricBounds = [
10,
n * 10,
100,
n * 10 + 9
];
}
page = doc.pages.add();
page.place( file );
doc.links.item(0).unlink();
}

function main() {
var doc = app.activeDocument;
var page = doc.pages.item(0);

var rectangles = page.rectangles.everyItem().getElements().splice(0);

var rectangle = rectangles.pop();
rectangle = rectangle.addPath( rectangles );

var graphic = doc.pages.item(1).rectangles.item(0).graphics[0];

try {
rectangle.contentPlace( [ graphic ] );
} catch(e) {
var t = "";
for (var n in e) {
if (n != "source") {
t += n + ": " + e[n] + "\r";
}
}
alert(t);
}

rectangle.fit( FitOptions.PROPORTIONALLY );
}



als Antwort auf: [#520773]

Eingebettete Grafik in Rahmen kopieren

Hans Haesler
  
Beiträge gesamt: 5826

30. Dez 2013, 09:07
Beitrag # 6 von 11
Beitrag ID: #521426
Bewertung:
(3647 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

besten Dank für den Hinweis. Ich habe Dein Fragment geprüft. Und für gut befunden. :-)

Vielleicht liefert Peter nun ein Beispiel-Dokument, aus welchem hervorgeht, wie die Snowflakes positioniert werden sollen.

Gruss, Hans


als Antwort auf: [#521425]

Eingebettete Grafik in Rahmen kopieren

peterhenrich
Beiträge gesamt: 139

3. Jan 2014, 17:55
Beitrag # 7 von 11
Beitrag ID: #521528
Bewertung:
(3541 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
>> Gerald: Vielen Dank für den Hinweis und die Scriptvorlage.

>> Hans: Ich habe das mal verkürzt zusammengefasst und auch Beispieldaten abgelegt, die mit diesem Code zusammen funktionieren. Der Lesbarkeit halber habe ich auf sämtliche Sicherheitsabfragen verzichtet.

Code
#target indesign 
var _doc = app.activeDocument;

var _rect1 = _doc.pageItems.itemByName("rectangle1");
var _rect2 = _doc.pageItems.itemByName("rectangle2");
var _snowflakes = _doc.pageItems.itemByName("snowflakes");

_rect1.graphics[0].remove();
_rect1.contentPlace(_snowflakes.graphics[0]);

_rect2.graphics[0].remove();
_rect2.contentPlace(_snowflakes.graphics[0]);


Löscht man vor dem Reinkopieren in _rect1/_rect2 eventuell vorhandene Grafiken nicht, erhält man eine Fehlermeldung. Ein Überschreiben in dieser Form hat bei mir nicht funktioniert:

Code
_rect1.graphics[0].contentPlace(_snowflakes.graphics[0]); 

Mag sein, dass ich hier versucht habe, das Falsche zu überschreiben. Wie oben geschrieben funktioniert es aber.

Das dazugehörige ID-Dokument findet man hier:
http://www.bhmg.de/...load/snowflakes.indd


als Antwort auf: [#521426]

Eingebettete Grafik in Rahmen kopieren

peterhenrich
Beiträge gesamt: 139

4. Jan 2014, 19:58
Beitrag # 8 von 11
Beitrag ID: #521561
Bewertung:
(3491 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hoppsala, der Download funktioniert leider nicht richtig. Hans war so freundlich, mich darauf hinzuweisen.

Ich habe mich zwar jetzt auch schon mit finanziellem Beitrag angemeldet, diese Funktion ist aber noch nicht freigeschaltet. Bis dahin findet Ihr die Datei in meiner Dropbox:

CC
https://dl.dropboxusercontent.com/u/1538296/snowflakes.indd

CS4++
https://dl.dropboxusercontent.com/u/1538296/snowflakes_CS4%2B%2B.idml

Sobald dies möglich ist, stelle ich die gewünschten Dateien dauerhaft in diesem Forum ein.


als Antwort auf: [#521528]

Eingebettete Grafik in Rahmen kopieren

Hans Haesler
  
Beiträge gesamt: 5826

4. Jan 2014, 20:28
Beitrag # 9 von 11
Beitrag ID: #521562
Bewertung:
(3481 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

ja, anscheinend muss der Bildrahmen zuerst geleert werden.

Falls er aber schon leer ist, würde auch eine Fehlermeldung gezeigt werden. Deshalb sollte ein try/catch-Wickel um den Entfernen-Befehl gelegt werden. Man könnte auch mit isValid prüfen, ob ein Bild vorhanden ist:

Code
var _doc = app.activeDocument; 

var _rect1 = _doc.pageItems.itemByName("rectangle1");
var _rect2 = _doc.pageItems.itemByName("rectangle2");
var _snowflakes = _doc.pageItems.itemByName("snowflakes").graphics[0];

if (_rect1.graphics[0].isValid) {
_rect1.graphics[0].remove();
}
_rect1.contentPlace(_snowflakes);

if (_rect2.graphics[0].isValid) {
_rect2.graphics[0].remove();
}
_rect2.contentPlace(_snowflakes);

var _defRect = _rect2.addPath(_rect1);
_defRect.fit(FitOptions.CENTER_CONTENT);

Mit addPath() werden die beiden Zielrahmen vereint. Und mit fit() zentriert.

Aber effizienter wäre, die Zielrahmen schon vorher zu vereinen. Dann müsste nur einmal geprüft, entfernt und eingesetzt werden. Nachstehend auf drei Zielrahmen erweitert:

Code
var _doc = app.activeDocument; 

var _rect1 = _doc.pageItems.itemByName("rectangle1");
var _rect2 = _doc.pageItems.itemByName("rectangle2");
var _rect3 = _doc.pageItems.itemByName("rectangle3");
var _snowflakes = _doc.pageItems.itemByName("snowflakes").graphics[0];
var _defRect = _rect3.addPath([_rect2, _rect1]);

if (_defRect.graphics[0].isValid) {
_defRect.graphics[0].remove();
}
_defRect.contentPlace(_snowflakes);
_defRect.fit(FitOptions.CENTER_CONTENT);

Auch so wird vorausgesetzt, dass die Zielrahmen vorhanden sind. Und zwar nicht zu einem vereint.

Gruss, Hans


als Antwort auf: [#521561]

Eingebettete Grafik in Rahmen kopieren

peterhenrich
Beiträge gesamt: 139

4. Jan 2014, 20:37
Beitrag # 10 von 11
Beitrag ID: #521563
Bewertung:
(3474 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für die Lösung. Einen habe ich aber noch:-)

Nachdem ich die ganzen Rechtangles "deaddet" und die Snowflakes dort eingefügt sowie mitels fit eingepasst habe: Wie bekomme ich denn die Rectangles nun wieder auseinander und insbesondere unter Beibehaltung der platzierten Inhalte?

Gibt es dafür schon ein Script?

Kann leider keine Ruhe geben ...

Peter


als Antwort auf: [#521562]

Eingebettete Grafik in Rahmen kopieren

Hans Haesler
  
Beiträge gesamt: 5826

4. Jan 2014, 20:57
Beitrag # 11 von 11
Beitrag ID: #521565
Bewertung:
(3462 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Peter,

die vereinten Rechtecke könnten sehr wohl wieder auseinandergebracht werden:

Code
_rect1.releaseCompoundPath(); 

Das entspricht dem Menüartikel Objekt > Pfade > Verknüpften Pfad lösen.

Aber ob per Script oder manuell: Das Ergebnis wird ziemlich sicher nicht Deinen Erwartungen entsprechen.

Übrigens: Weshalb nur willst Du die Rechtecke wieder auseinanderbringen?

Es wäre gut, wenn Du ein Beispiel-Dokument zeigen würdest, in welchem die Schneeflocken korrekt in den Zielrahmen positioniert sind.

Gruss, Hans


als Antwort auf: [#521563]
X

Aktuell

PDF / Print
IWS-Logo_300

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
20.06.2024

Online
Donnerstag, 20. Juni 2024, 15.00 - 15.45 Uhr

Webinar

Etiketten-Workflows gehören zu den anspruchsvollsten in der grafischen Industrie. Ihre PDF-Dateien sind oft sehr komplex und erfordern eine spezielle Vorbereitung. pdfToolbox bietet viele Möglichkeiten, um diese Arbeit zu automatisieren. Nehmen Sie an unserem Webinar "pdfToolbox für den Etikettendruck" teil und lernen Sie einige der Funktionen kennen, die Ihren Etiketten-Workflow effizienter gestalten. Einige der Bereiche, die Sie kennenlernen werden, sind: Beschnitt erzeugen Beim Etikettendruck ist das Druckmotiv oft nicht rechteckig. Lernen Sie, wie Sie einen passenden Beschnitt für alle Arten von Formen hinzufügen können. Produktionsreife Dateien erstellen nutzen Sie bereits vorliegende Inhalte oder Seiteninformationen, um eine Weißform hinter dem Seiteninhalt hinzuzufügen, eine passgenaue Lackform für bestimmte Objekte zu erzeugen oder eine Stanzlinie mit korrektem Sonderfarbnamen zu erstellen. Ausschießen, Step & Repeat, N-Up Mit der Ausschieß-Engine von pdfToolbox lassen sich Seiten zu größeren Druckbögen zusammenfassen, wobei verschiedene Layouts und Komplexitäten unterstützt werden. Hochwertige Freigabe-Bögen Erstellen Sie automatisch Freigabe-Bögen mit Vorschaubildern Ihrer Produktionsdatei und Auftragsdaten aus dem MIS. Qualitätskontrolle pdfToolbox enthält Standard-Preflight-Profile, die die grundlegenden Anforderungen an PDF-Dateien in Etiketten-Workflows abdecken. Prüfen Sie ob Ihre Dokumente internationalen Standards wie ISO PDF/X oder GWG (Ghent Workgroup) Spezifikationen entspricht. Verpackungs- und etikettenspezifische Vorgaben, wie der ISO-Standard „Processing Steps“, werden ebenfalls unterstützt.

kostenlos

Ja

Organisator: callassoftware

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

pdfToolbox für den Ettikettendruck
Veranstaltungen
02.07.2024

Online
Dienstag, 02. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen ≡ Anlage von Beschnittzugaben ≡ Automatische Erzeugung der Schnittkontur ≡ Erstellung von Strichcodes, Textmarkierungen und Registrierungen IWS LFP Edition: 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? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix Core ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

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

So optimieren Sie Ihren LFP-Workflow