[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Ausgewähltes Objekt aus Verankerung lösen

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

Ausgewähltes Objekt aus Verankerung lösen

Uwe Laubender
Beiträge gesamt: 5232

21. Jan 2012, 13:46
Beitrag # 1 von 5
Bewertung:
(14259 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, zusammen!

Folgender Artikel auf InDesignSecrets.com stellt ein Script von Dave Saunders vor, das ausgewählte Inline-Objekte aus ihrer Verankerung löst und an ihrer ursprünglichemn Position stehenläßt:

http://indesignsecrets.com/releasing-inlines.php

Dave schreibt selbst in einem der Kommentare, dass dieses Script nur eine Studie ist und noch etliche Schwächen aufweist:

1. Erst ab InDesign CS5 lauffähig
2. Objekte auf dem pasteboard können nicht gelöst werden

Zusätzliche Einschränkung (noch nicht in den Kommentaren erwähnt):
3. Werden Objekte innerhalb von verankerten Gruppen ausgewählt, können diese ebenfalls nicht gelöst werden

Ich habe nun versucht mit einem anderen Konzept alle diese Punkte aufzuarbeiten. Mein Script löst zusätzlich auch benutzerdefinierte, verankerte Objekte und positioniert diese an ihre ursprüngliche Position.

Zusätzlich kann das Ganze in einem Rutsch rückgängig gemacht werden.

Ich bitte um ausgiebige Tests mit InDesign CS4, CS5 und CS5.5. Vielleicht nützt es der/dem Einen oder Anderen von euch.

Ein wenig Bauchgrimmen habe ich mit der Funktion ancestorIsCharacter(_object), in der ich eine while-Schleife benutze, um festzustellen, ob ein ausgewähltes Objekt teil einer verankerten Gruppe ist.

Nach langer Vorrede hier das Script:

Code
//ReleaseInLineOrAnchoredObjectAtSamePosition.jsx 
//Uwe Laubender
/**
* @@@[email protected]@@ ReleaseInLineOrAnchoredObjectAtSamePosition.jsx !Version! Sat Jan 21 2012 13:25:59 GMT+0100
*/

//For InDesign CS4, CS5, CS5.5

//DESCRIPTION:Releases an selected inline or anchored object. Does not change position of the object. Undo in one step.

app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

if(parseFloat(app.version)<6){
alert("Your InDesign app version should be version 6 (CS4) or above!");
exit();
};

if(parseFloat(app.version)>7.6){
alert("Script is not tested for InDesign above version 7.5 (CS5.5)");
exit();
};

if(app.selection.length === 1 && ancestorIsCharacter(app.selection[0])){
app.doScript(_ReleaseInlineObject, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT, "Release inline object");
}
else(alert("Select an inline or anchored object you want to release!"));


function _ReleaseInlineObject(){

var _oldRulerOrigin = app.documents[0].viewPreferences.rulerOrigin;

app.documents[0].viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;

var _sel = app.selection[0];
var _selBounds = _sel.geometricBounds;
var _releasedObject = _sel.duplicate();
_sel.remove();

_releasedObject.geometricBounds = _selBounds;

app.documents[0].viewPreferences.rulerOrigin = _oldRulerOrigin;

//If you want to work on with the released object, we select it:
app.select(_releasedObject);

};

//If ancestor of _object is Character, function returns "true":
function ancestorIsCharacter(_object){

if(_object.parent instanceof Character){return true};

while(_object.parent instanceof Group){
_object = _object.parent;
if(_object.parent instanceof Character){
return true};
};
return false;
};

X

Ausgewähltes Objekt aus Verankerung lösen

Hans Haesler
  
Beiträge gesamt: 5818

21. Jan 2012, 21:16
Beitrag # 2 von 5
Beitrag ID: #488257
Bewertung:
(14224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

CS5, einfaches Testdokument: eine A4-Seite, ein Textrahmen mit Platzhaltertext gefüllt; ein Bildrahmen (59 x 39 mm), ein Bild enthaltend; mit Kopieren/Einsetzen verankert. Diesen Bildrahmen ausgewählt, das Script gestartet.
Ergebnis: Der Bildrahmen ist gelöst. Aber das Bild ist komplett verschoben. Wenn man es lokalisiert (durch Klick auf den Donut) dann erscheint die braune Begrenzung aliniert am linken Seitenrand. Vertikal ist der obere Rand auf 109.5 mm positioniert.

Zweiter Test: Zurück zur letzten Version; den Textrahmen nach unten verschoben; den Bildrahmen ausgewählt; das Script gestartet.
Ergebnis: Bild verschoben. An dieselbe Stelle wie beim ersten Mal.

Dritter Test: In den "Optionen für verankertes Objekt" die Checkbox "Manuelle Position verhindern" aktiviert.
Ergebnis: Eine Fehlermeldung ("Objekt ist gesperrt").

Gruss, Hans


als Antwort auf: [#488238]

Ausgewähltes Objekt aus Verankerung lösen

drerol74
Beiträge gesamt: 498

21. Jan 2012, 22:17
Beitrag # 3 von 5
Beitrag ID: #488260
Bewertung:
(14205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

bei mir tritt ein ähnliches Verhalten auf, wie schon von Hans beschrieben.

Wenn die Koordinaten direkt bei der Erzeugung übergeben werden, funktioniert es bei mir:

Code
...  
var _selBounds = _sel.visibleBounds;
var _newBounds = [_selBounds[1],_selBounds[0]];
var _releasedObject = _sel.duplicate(_newBounds);
...


Schöne Grüße
Roland


als Antwort auf: [#488238]
(Dieser Beitrag wurde von drerol74 am 21. Jan 2012, 22:27 geändert)

Ausgewähltes Objekt aus Verankerung lösen

Uwe Laubender
Beiträge gesamt: 5232

21. Jan 2012, 22:45
Beitrag # 4 von 5
Beitrag ID: #488261
Bewertung:
(14191 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Hans & Roland!

Danke für die Tests.
Werde mich morgen um die Korrekturen kümmern.
Schönen Abend noch!


als Antwort auf: [#488260]

Ausgewähltes Objekt aus Verankerung lösen

Uwe Laubender
Beiträge gesamt: 5232

22. Jan 2012, 11:50
Beitrag # 5 von 5
Beitrag ID: #488275
Bewertung:
(14143 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Roland!
Ich habe Deinen Vorschlag getestet. Leider nur mit mäßigem Erfolg.

Testdaten (InDesign CS5.5 v7.5.5.2):
Grafikrahmen mit platzierter Abbildung leicht gedreht (6° CCW) in Textrahmen eingefügt. Nach Ausführung des Scripts bleibt die Abbildung korrekt positioniert innerhalb des Grafikrahmens, aber das gelöste Objekt war nicht mehr an exakt der gleichen Stelle.

Es gab einen vertikalen Versatz nach oben. Bei unterschiedlichen Drehwinkeln fällt dieser unterschiedlich aus.


als Antwort auf: [#488260]
X

Aktuell

Web / SEO / Blockchain / Betriebssystem
unsplash_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
01.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

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

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

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
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/