[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Eine Auswahl (Gruppe) in neues Rectangle einfügen

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

Eine Auswahl (Gruppe) in neues Rectangle einfügen

tomwal
Beiträge gesamt: 29

2. Jun 2013, 08:35
Beitrag # 1 von 18
Bewertung:
(4617 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forumsteilnehmer,
eine aktiviertes Objekt (Gruppe) soll in ein neues Rechteck platziert werden.

Das Script habe ich soweit fertig, bis auf:
das "Ausschneiden" + "In die Auswahl einfügen"

// Script:

Code
var _dok = app.activeDocument; 

var _aktuelObj = app.selection[0];
// alert ("Sie haben ein " + _aktuelObj.constructor.name + " ausgewählt!");

var P1 = Math.round(_aktuelObj.geometricBounds[0]);
var P2 = Math.round(_aktuelObj.geometricBounds[1]);
var P3 = Math.round(_aktuelObj.geometricBounds[2]);
var P4 = Math.round(_aktuelObj.geometricBounds[3]);

var _newRect = _dok.rectangles.add();
_newRect.geometricBounds = [P1 -2,P2 -12,P3 +2,P4 +12];
_newRect.select();
_newRect.strokeWeight = 0;

_aktuelObj.select();

// ---> aktuelObj.cut ??? // = (Auswahl ausschneiden")

_newRect.select();

// ---> _aktuelObj.paste() // = (Auswahl in neuen Rahmen einfügen)


Kann mir jemand weiterhelfen?

Grüße
tomwal
X

Eine Auswahl (Gruppe) in neues Rectangle einfügen

-hans-
Beiträge gesamt: 748

2. Jun 2013, 09:51
Beitrag # 2 von 18
Beitrag ID: #513313
Bewertung:
(4595 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

sourceSel.cut()

destSel.pasteInto()

-->> http://jongware.mit.edu/...ation.html#pasteInto

Hab's nicht getestet.
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#513312]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

2. Jun 2013, 10:22
Beitrag # 3 von 18
Beitrag ID: #513314
Bewertung:
(4573 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomwal,

Code
var _dok = app.activeDocument; 

var _aktuelObj = app.selection[0];

var P1 = Math.round(_aktuelObj.geometricBounds[0]);
var P2 = Math.round(_aktuelObj.geometricBounds[1]);
var P3 = Math.round(_aktuelObj.geometricBounds[2]);
var P4 = Math.round(_aktuelObj.geometricBounds[3]);

var _newRect = _dok.rectangles.add();
_newRect.geometricBounds = [P1 -2,P2 -12,P3 +2,P4 +12];
_newRect.select();
_newRect.strokeWeight = 0;

// Gruppe auswählen
_aktuelObj.select();

// Auswahl ausschneiden
app.cut();

// Zielrahmen auswählen
_newRect.select();

// Inhalt der Zwischenablage in neuen Rahmen einfügen
app.pasteInto();

Ich hab's getestet. ;-)

Gruss, Hans


als Antwort auf: [#513312]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

-hans-
Beiträge gesamt: 748

2. Jun 2013, 10:29
Beitrag # 4 von 18
Beitrag ID: #513315
Bewertung:
(4569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
suppi ;-)
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#513314]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

2. Jun 2013, 10:36
Beitrag # 5 von 18
Beitrag ID: #513316
Bewertung:
(4564 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomval,

eine kürzere Version:

Code
var _dok = app.activeDocument; 

var _aktuelObj = app.selection[0];

var P1 = Math.round(_aktuelObj.geometricBounds[0]);
var P2 = Math.round(_aktuelObj.geometricBounds[1]);
var P3 = Math.round(_aktuelObj.geometricBounds[2]);
var P4 = Math.round(_aktuelObj.geometricBounds[3]);

// Auswahl ausschneiden
app.cut();

var _newRect = _dok.rectangles.add();
_newRect.geometricBounds = [P1 -2,P2 -12,P3 +2,P4 +12];
_newRect.select();
_newRect.strokeWeight = 0;

// Zielrahmen auswählen
_newRect.select();

// Inhalt der Zwischenablage in neuen Rahmen einfügen
app.pasteInto();

So muss die Gruppe nicht erneut ausgewählt werden.

Gruss, Hans


als Antwort auf: [#513315]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

2. Jun 2013, 11:53
Beitrag # 6 von 18
Beitrag ID: #513318
Bewertung:
(4514 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomval,

noch etwas: Es ist effizienter, wenn das Objekt nur ein Mal angesprochen wird, um die geometricBounds zu erhalten:

Code
var _dok = app.activeDocument; 

var _aktuelObj = app.selection[0];

var _gB = _aktuelObj.geometricBounds;
var _y1 = Math.round(_gB[0]);
var _x1 = Math.round(_gB[1]);
var _y2 = Math.round(_gB[2]);
var _x2 = Math.round(_gB[3]);

// Auswahl ausschneiden
app.cut();

var _newRect = _dok.rectangles.add();
_newRect.geometricBounds = [_y1-2, _x1-12, _y2+2, _x2+12];
_newRect.select();
_newRect.strokeWeight = 0;

// Zielrahmen auswählen
_newRect.select();

// Inhalt der Zwischenablage in neuen Rahmen einfügen
app.pasteInto();

Gruss, Hans


als Antwort auf: [#513316]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

tomwal
Beiträge gesamt: 29

4. Jun 2013, 22:47
Beitrag # 7 von 18
Beitrag ID: #513405
Bewertung:
(4384 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich bin erst jetzt dazu gekommen,
nun gab ich es eingebaut.

Super wie es funtioniert. Danke!

Gruß
tomwal


als Antwort auf: [#513318]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

4. Jun 2013, 22:51
Beitrag # 8 von 18
Beitrag ID: #513406
Bewertung:
(4377 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomwal,

(jetzt habe ich Dein Pseudo mal wieder richtig getippt ...).

Bitte sehr!

Gruss, Hans


als Antwort auf: [#513405]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

tomwal
Beiträge gesamt: 29

5. Jun 2013, 08:48
Beitrag # 9 von 18
Beitrag ID: #513409
Bewertung:
(4326 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke sehr,
noch ne Frage:

der neue Rahmen ist selektiert:
Code
_newRect.select(); 


wie kann ich den Inhalt des neuen Rahmens auswählen,
und verschieben?
([i]Inhalt ist jenachdem eine Gruppe, od ein Image);

Code
_newRect.[i]Inhalt.move(undefined, [10,0]); 


Gruß
tomwal


als Antwort auf: [#513406]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

5. Jun 2013, 09:22
Beitrag # 10 von 18
Beitrag ID: #513412
Bewertung:
(4312 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomwal,

am einfachsten wäre, die Werte beim Zuweisen der geometricBounds entsprechend anzupassen:

Code
_newRect.geometricBounds = [_y1-2, _x1-22, _y2+2, _x2+2]; 

Falls das Ergebnis nicht wie erwartet ist, dann sende mir doch bitte ein Dokument mit genauen Angaben.

Gruss, Hans


als Antwort auf: [#513409]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

tomwal
Beiträge gesamt: 29

5. Jun 2013, 16:01
Beitrag # 11 von 18
Beitrag ID: #513446
Bewertung:
(4266 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das "_newRect" beinhaltet eine Gruppe (die wurde per pasteInto() eingefügt)
nun möchte ich die Gruppe auswählen und verschieben.

manuell kann ich im Steuerungsbedienfeld "Inhalt auswählen"
und komme so an die Gruppe.

Wie komme ich per Script an den inhalt/Gruppe?

Gruß
tomwal


als Antwort auf: [#513412]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

5. Jun 2013, 16:19
Beitrag # 12 von 18
Beitrag ID: #513449
Bewertung:
(4258 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomwal,

hast Du meinen Vorschlag ausprobiert?

Aber okay, so hast Du Dir das wahrscheinlich vorgestellt:

Code
var _dok = app.activeDocument; 

var _aktuelObj = app.selection[0];

var _gB = _aktuelObj.geometricBounds;
var _y1 = Math.round(_gB[0]);
var _x1 = Math.round(_gB[1]);
var _y2 = Math.round(_gB[2]);
var _x2 = Math.round(_gB[3]);

// Auswahl ausschneiden
app.cut();

var _newRect = _dok.rectangles.add();
_newRect.geometricBounds = [_y1-2, _x1-12, _y2+2, _x2+12];
//_newRect.geometricBounds = [_y1-2, _x1-22, _y2+2, _x2+2];
_newRect.select();
_newRect.strokeWeight = 0;

// Zielrahmen auswählen
_newRect.select();

// Inhalt der Zwischenablage in neuen Rahmen einfügen
app.pasteInto();

// den Inhalt verschieben
var curCont = _newRect.pageItems.everyItem();
curCont.move(undefined, [10, 0]);

Das funktioniert auch, wenn nur ein einzelner Bildrahmen einkopiert wurde.

Gruss, Hans


als Antwort auf: [#513446]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

tomwal
Beiträge gesamt: 29

5. Jun 2013, 22:05
Beitrag # 13 von 18
Beitrag ID: #513463
Bewertung:
(4202 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ja, habe es ausprobiert, aber der Inhalt wurde nicht verschoben nur das übergeornete Rechteck hat sich geändert.

Dein aktuelles Script funktioniert wie gedacht.

nochmal vielen Dank!
tomwal


als Antwort auf: [#513449]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

Hans Haesler
  
Beiträge gesamt: 5816

5. Jun 2013, 22:15
Beitrag # 14 von 18
Beitrag ID: #513464
Bewertung:
(4194 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tomwal,

ja, klar, ändert sich die Position des umfassenden Rechtecks.
Doch dann könnte man das Ganze verschieben (statt den Inhalt):

Code
var _dok = app.activeDocument; 

var _aktuelObj = app.selection[0];

var _gB = _aktuelObj.geometricBounds;
var _y1 = Math.round(_gB[0]);
var _x1 = Math.round(_gB[1]);
var _y2 = Math.round(_gB[2]);
var _x2 = Math.round(_gB[3]);

// Auswahl ausschneiden
app.cut();

var _newRect = _dok.rectangles.add();
_newRect.geometricBounds = [_y1-2, _x1-22, _y2+2, _x2+2];
_newRect.select();
_newRect.strokeWeight = 0;

// Zielrahmen auswählen
_newRect.select();

// Inhalt der Zwischenablage in neuen Rahmen einfügen
app.pasteInto();

// das Ganze verschieben
_newRect.move(undefined, [10, 0]);

Alles klar? :-)

Gruss, Hans


als Antwort auf: [#513463]

Eine Auswahl (Gruppe) in neues Rectangle einfügen

tomwal
Beiträge gesamt: 29

12. Jun 2013, 23:04
Beitrag # 15 von 18
Beitrag ID: #513793
Bewertung:
(4052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Alles klar !

Nun gibt es ein Problem bei Dokumenten mit mehreren Doppelseiten, das "newRect" wird immer auf der ersten DS eingefügt!?

viele Grüße
tomwal


als Antwort auf: [#513464]
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
29.09.2022

IDUGS#85 Press2id

Zoom Meeting
Donnerstag, 29. Sept. 2022, 19.00 - 21.00 Uhr

Vortrag

Kennst du WordPress? Vielleicht. Verwendest du WordPress? Ja, klar! WordPress ist das am weitesten verbreitete System für die Erstellung von Webseiten. Um Webseitenbau soll es auf dieser IDUG aber nicht gehen. Gregor zeigt press2id (github.com/grefel/press2id). Seine Open-Source-Lösung für die Verbindung von Web und InDesign. Richtig gelesen: InDesign liest mithilfe von press2id die Inhalte der WordPress-Webseiten und generiert daraus Zeitschriften, Kataloge, Programmhefte oder Bierdeckel (das zeigen wir natürlich auch!). So wird die „Content First“ Theorie zu einer konkret anwendbaren Praxis, ohne gleich die ganz großen Räder zu drehen. Versprochen: Jeder kann nach der IDUG innerhalb kürzester Zeit Daten von WordPress nach InDesign importieren. Aber Achtung: Prinzipiell kann press2id aus jeder Website, oder besser Contentmanagementsystem (CMS) Daten auslesen und nach InDesign importieren! Spannend, oder? Danach geht es in die Praxis: Stefan hat die Webseite des Parktheater Iserlohn (parktheater-iserlohn.de) gestaltet. Die gedruckten Spielpläne (parktheater-iserlohn.de/interaktive-spielplaene) werden mit press2id realisiert. Wir schauen in den Maschinenraum und zeigen, wie die Lösung des Projekts realisiert wurde.

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs85.eventbrite.de/

Von Wordpress nach InDesign
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

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

Enfocus World Tour 2022