[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Marginalie (CS6, WIN)

cwenet
Beiträge gesamt: 1139

12. Aug 2013, 21:28
Bewertung:

gelesen: 3940

Beitrag als Lesezeichen
Guten Abend,

hiermit möchte ich im Dokumet "marginalie_vorher.idml" den Zähler einer Überschrift
im Fliesstext ausschneiden und als verankerte Fläche vor die Überschrift einfügen:

Code
  
//clear the find/change text preferences
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;

//Set the find options.
app.findTextPreferences.appliedParagraphStyle = 'Überschrift 2';
app.findGrepPreferences.findWhat = '^\\d+?\\.\\d+? ';

var myFound = app.activeDocument.findGrep(true);

var myBounds = [ "0p", "0p", "13pt", "36mm"]; // Koordinaten des Marginalientextrahmens [y1, x1, y2, x2]
var myOStyle = app.activeDocument.objectStyles.item('Marginalie');

for( var n = myFound.length-1; n >= 0; n-- )
{
mySchleife();
}


function mySchleife()
{
var myIndex = myFound[n].insertionPoints[0].index; // der wievielte IP in der Story?
var myStory = myFound[n].parentStory; // in welcher Story?
app.select(myFound[n]);
app.cut();

var myFrame = myStory.insertionPoints[myIndex].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(myFrame.insertionPoints[0]); // Zuweisung des Inhalts
app.paste();
myFrame.paragraphs[0].appliedParagraphStyle = "U2_Ziffer";
}


So wie in Dokument "marginalie_soll.idml" soll es aussehen.
Das Script scheint die Anker aber irgendwie willkürlich zu setzen.
Bei vielen Überschriften läuft das Ganze dann komplett aus dem Ruder und die verankerte Fläche entfernt sich
immer weiter weg von der ursprünglichen Überschrift.

Hat jemand eine Idee?

Danke und Gruss
Christoph

(Dieser Beitrag wurde von cwenet am 12. Aug 2013, 21:30 geändert)

Anhang:
marginalie_vorher.idml (31.5 KB)   marginalie_soll.idml (38.7 KB)
Änderungsverlauf:
Beitrag geändert von cwenet (Veteran) am 12. Aug 2013, 21:30