[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Verankertes Objekt per Script erzeugen?

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

Verankertes Objekt per Script erzeugen?

Peter Kahrel
Beiträge gesamt: 182

4. Jun 2009, 21:28
Beitrag # 46 von 55
Beitrag ID: #398263
Bewertung:
(10458 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
A couple of weeks ago I wrote a few sripts to deal with marginal notes -- in blissful ignorance of Martin's scripts written almost three years ago now. I didn't spot Martin's script until this thread was revived earlier this week. (The scripts are at http://www.kahrel.plus.com/indesign/sidenotes.html)

They add some aspects that were mentioned here, such as reordering marginal notes so that they don't overlap, and making the width of the margin notes part of the object style, simply by writing that value into the object style's label. Finally, they use a measurement handler for scriptUI (the traditional dialog system was good at handling measurements, scriptUI can deal only with strings).

Anyway, I wanted to put the record straight and acknowledge Martin's scripts.

Peter


als Antwort auf: [#398137]
X

Verankertes Objekt per Script erzeugen?

pemischl
Beiträge gesamt: 8

11. Mär 2010, 01:43
Beitrag # 47 von 55
Beitrag ID: #436031
Bewertung:
(10077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde dieses Script gerne benutzen, allerdings bleibt es bei der Zeile
Zitat myFrame.parent.parentTextFrames[0].characters.length;

mit der Meldung "undefinded ist kein Objekt" hängen.
Leider verstehe ich den Sinn der Zeile nicht einmal annähernd.
Über Hilfe würde ich mich freuen.

Vielen Dank im Voraus!
Peter Pesseg


als Antwort auf: [#397975]

Verankertes Objekt per Script erzeugen?

Martin Fischer
  
Beiträge gesamt: 12783

11. Mär 2010, 07:54
Beitrag # 48 von 55
Beitrag ID: #436034
Bewertung:
(10065 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Leider verstehe ich den Sinn der Zeile nicht einmal annähernd.

So weit ich mich erinnern kann, war das ein workaround von Dave Saunders.
In CS3 (oder war es noch früher?) konnte mit einem soeben per Skript erzeugten verankerten Textrahmen nichts angefangen werden. Er war als Objekt nicht zu fassen (möglicherweise betraf das nur die geometricBounds, die noch nicht präsent waren).

Daves workaround (das Zählen der Zeichen im übergeordneten Textrahmen, also in dem, in dem der verankerte drin hängt) hat dafür gesorgt, dass man mit dem soeben erzeugten verankerten Textrahmen was anfangen konnte.

Es wäre nun interessant zu erfahren, was nun undefined ist.
Ist's der parentTextFrames[0] oder sind's die characters?

Mit was für einer InDesign-Version arbeitest Du, Peter?
Eventuell braucht's diese Zeile in CS4 nicht mehr.
Kommentiere sie mal aus und berichte.

Außerdem möchte ich Dich nochmals auf o.g. Skripte von Peter Kahrel für diesen Zweck hinweisen: http://www.kahrel.plus.com/indesign/sidenotes.html. Diese sind strukturierter angelegt und leisten mehr.


als Antwort auf: [#436031]
(Dieser Beitrag wurde von Martin Fischer am 11. Mär 2010, 07:58 geändert)

Verankertes Objekt per Script erzeugen?

pemischl
Beiträge gesamt: 8

11. Mär 2010, 11:34
Beitrag # 49 von 55
Beitrag ID: #436065
Bewertung:
(10035 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die schnelle Antwort!
Ich arbeite noch mit der Cs3 auf Mac Osx 10.5.6, deswegen kommen die Scripts von Peter Kahrel für mich nicht in Frage.


als Antwort auf: [#436034]

Verankertes Objekt per Script erzeugen?

cwenet
Beiträge gesamt: 1139

9. Jun 2010, 15:34
Beitrag # 50 von 55
Beitrag ID: #444030
Bewertung:
(9747 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich wollte das Script für eine einzelne Marginalie anpassen und komme nicht weiter:
So sieht es momentan aus und klappt auch soweit prima:

Code
var mySelection=app.selection[0];  
var myOStyle = app.activeDocument.objectStyles.item("Marginalie"); // Objektstil
var myBounds = [ "0p", "0p", "10mm", "30mm"]; // Koordinaten des Marginalientextrahmens [y1, x1, y2, x2]

var myFrame = mySelection.insertionPoints[0].textFrames.add(); // Einfügen eines Textrahmen am Einfügepunkt (Cursor)
myFrame.parent.parentTextFrames[0].characters.length;
myFrame.geometricBounds = myBounds; // Zuweisung der Koordinaten (Höhe und Breite)
myFrame.applyObjectStyle(myOStyle, true); // Zuweisung des Objektstils


app.select(mySelection);
app.cut();
myFrame.insertionPoints[0].select(); // Cursor in verankertem Textrahmen platzieren
app.paste(); // Inhalt der Zwischenablage einfügen

myFrame.paragraphs[0].appliedParagraphStyle = "marginalie";


Der Text für die Marginalie steht in einem eigenen Absatz und ist bereits mit dem Absatzformat marginalie versehen.
Der Folgeabsatz ist mit dem Absatzformat normal formatiert.
Wende ich das Script nun an, wird der Folgeabsatz ebenfalls mit Marginalie formatiert. Das passiert, wenn ich das Returnzeichen des Absatzes mit dem Format MArginalie markiere. Dieser soll ja komplett in den neuen Frame übernommen werden.
Wie kann ich nun verhindern, dass der Folgeabsatz von dem Script berührt wird?

Schöne Grüße
Christoph


als Antwort auf: [#205732]

Verankertes Objekt per Script erzeugen?

Quarz
Beiträge gesamt: 3555

19. Mär 2012, 15:23
Beitrag # 51 von 55
Beitrag ID: #492084
Bewertung:
(9100 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich krame mal diesen uralten Post heraus.

Das folgende Script leistet mir aber immer
noch gute Dienste :-)

Code
var mySelection=app.selection[0];  
var myOStyle = app.activeDocument.objectStyles.item("Marginalien"); // Objektstil
var myBounds = [ "0p", "0p", "10mm", "10mm"]; // Koordinaten des Marginalientextrahmens [y1, x1, y2, x2]

var myFrame = mySelection.insertionPoints[0].textFrames.add(); // Einfügen eines Textrahmen am Einfügepunkt (Cursor)
myFrame.parent.parentTextFrames[0].characters.length;
myFrame.geometricBounds = myBounds; // Zuweisung der Koordinaten (Höhe und Breite)
myFrame.applyObjectStyle(myOStyle, true); // Zuweisung des Objektstils
// Auswahl in Marginalie einfügen
myFrame.insertionPoints[0].select();
myFrame.contents=mySelection.contents;
app.selection[0].contents = "+"


In einem Fließtext benutze ich dieses Script
um die Marginalie + zu setzen, wenn ich
im Text eine Zeile ausgetrieben habe.

Meine Frage ist nun:
Könnte das Script auch die Marginalie auf
die Ebene Marginalie setzen?

Dann kann ich diese Ebene auf nichtdruckend
einstellen, damit ich später nicht die Marginalien
mühsam von Hand löschen muss.

-------------
Alles retour.
Eine Marginalie ist ja mit dem Fließtext verbunden,
also auch auf seiner Ebene ;-)


Gruß
Quarz


als Antwort auf: [#205732]
(Dieser Beitrag wurde von Quarz am 19. Mär 2012, 15:27 geändert)

Verankertes Objekt per Script erzeugen?

Martin Fischer
  
Beiträge gesamt: 12783

19. Mär 2012, 16:37
Beitrag # 52 von 55
Beitrag ID: #492087
Bewertung:
(9085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

Antwort auf: Alles retour.
Eine Marginalie ist ja mit dem Fließtext verbunden,
also auch auf seiner Ebene ;-)


Das hast Du richtig erkannt.
Schneller noch als ich lesen konnte. ;-)


als Antwort auf: [#492084]
(Dieser Beitrag wurde von Martin Fischer am 19. Mär 2012, 16:38 geändert)

Verankertes Objekt per Script erzeugen?

allora
Beiträge gesamt: 47

12. Jul 2012, 20:15
Beitrag # 53 von 55
Beitrag ID: #497917
Bewertung:
(8777 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich hoffe, es verirrt sich noch jemand zu diesem alten thema ;-)
ich habe nämlich heute dieses wunderbare skript entdeckt, das mir unschätzbare dienste leisten wird. momentan gelange ich per suchen&ersetzen jeweils zur nächsten zahl im zeichenformat "randziffer", die ich dann per skript in den automatisch erzeugten marginalienkasten verschiebe. ich nehme an, diese handarbeit wäre aber ebenfalls sehr leicht per skript zu lösen. kann mir bitte jemand die noch dafür fehlenden zeilen liefern?
vielen dank schon im voraus, anita

das momentane skript:

Code
// insertAnchoredFrame_simpleVersion.jsx  
//
var mySelection=app.selection[0];
var myOStyle = app.activeDocument.objectStyles.item("Randkasten"); // Objektstil
var myBounds = [ "0p", "0p", "5mm", "7mm"]; // Koordinaten des Marginalientextrahmens [y1, x1, y2, x2]

var myFrame = mySelection.insertionPoints[0].textFrames.add(); // Einfügen eines Textrahmen am Einfügepunkt (Cursor)
myFrame.parent.parentTextFrames[0].characters.length;
myFrame.geometricBounds = myBounds; // Zuweisung der Koordinaten (Höhe und Breite)
myFrame.applyObjectStyle(myOStyle, true); // Zuweisung des Objektstils
myFrame.contents=mySelection.contents;
app.selection[0].contents = ""



als Antwort auf: [#492087]
(Dieser Beitrag wurde von allora am 12. Jul 2012, 20:22 geändert)

Verankertes Objekt per Script erzeugen?

allora
Beiträge gesamt: 47

13. Jul 2012, 10:31
Beitrag # 54 von 55
Beitrag ID: #497937
Bewertung:
(8720 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hat sich erledigt - hab es doch selbst geschafft!


als Antwort auf: [#497917]

Verankertes Objekt per Script erzeugen?

tntypography
Beiträge gesamt: 4

20. Mär 2015, 03:38
Beitrag # 55 von 55
Beitrag ID: #538182
Bewertung:
(7224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Anita,

ich versuche das gleiche wie du, allerdings mit weniger Erfolg - meine InDesign scripting Versuche sind noch in den Kinderschuhen. Würdest du deinen funktionierenden Code auch teilen?

Mein Ansatz war hier eine GREP Suche als variable zu definieren, komme dann aber nicht damit weiter das Suchergebnis zu verwenden.

Danke!
Titus


als Antwort auf: [#497937]
X