[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Alle Marginalien lösen

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

Alle Marginalien lösen

Quarz
Beiträge gesamt: 3578

8. Jun 2012, 14:25
Beitrag # 1 von 11
Bewertung:
(5044 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ihr Scripter,

gibt es eine Möglichkeit mit einem Script
alle Marginalien in einem Rutsch zu lösen?

Jeder Textfluß hat eine Marginalie -
90 habe ich davon, die alle gelöst werden
müssen.

Ich habe hier etwas gefunden, aber das
funktioniert nicht.
http://www.hilfdirselbst.ch/...i?post=385215#385215


Gruß
Quarz

--------------------------------------------------------
Win7/64 Prof. | InDesign CS5 ver7.04 | CS6 |

X

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 14:50
Beitrag # 2 von 11
Beitrag ID: #496229
Bewertung:
(5027 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

ist hier was dabei?

Verankerte Objekte im gesamten Dokument lösen


als Antwort auf: [#496227]
(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2012, 14:53 geändert)

Alle Marginalien lösen

Quarz
Beiträge gesamt: 3578

8. Jun 2012, 15:09
Beitrag # 3 von 11
Beitrag ID: #496233
Bewertung:
(5015 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

es tut sich nichts - nichts mit schwarzem
Pfeil und nichts mit Textwerkzeug.

Das Script ist ›stumm‹.
Es gibt noch nicht einmal eine Fehlermeldung
aus.


Gruß
Quarz

--------------------------------------------------------
Win7/64 Prof. | InDesign CS5 ver7.04 | CS6 |



als Antwort auf: [#496229]

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 15:36
Beitrag # 4 von 11
Beitrag ID: #496234
Bewertung:
(4995 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

auf die Schnelle ...

Versuch's mal damit.
Code
  1. // releaseAnchored_Dave_doc.jsx

    Object.prototype.releaseAnchored = function()
    {
    if (this.parent.constructor.name == "Character")
    {
    try
    {
    this.select(SelectionOptions.replaceWith);
    this.parent.parentStory.recompose();
    var myBounds = this.geometricBounds;
    app.cut();
    app.paste();
    var newBounds = app.selection[0].geometricBounds;
    app.selection[0].move(undefined,[myBounds[1] - newBounds[1], myBounds[0] - newBounds[0]]);
    return app.selection[0]
    }
    catch(e)
    {
    alert(e);
    }
    }
    }

    var myObjects = app.documents.firstItem().allPageItems;

    for (var oneObject = myObjects.length-1; oneObject >= 0; oneObject--)
    {
    myObjects[oneObject].releaseAnchored();
    }



als Antwort auf: [#496233]
(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2012, 15:36 geändert)

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 16:03
Beitrag # 5 von 11
Beitrag ID: #496236
Bewertung:
(4976 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Alternativ nach Olav Kverns Methode
(mit der findPage()-Funktion von Dave Saunders und Gregor Fellenz):

Code
  1. // releaseAnchored_Ole_doc.jsx

    var myObjects = app.documents.firstItem().allPageItems;

    for (var oneObject = myObjects.length-1; oneObject >= 0; oneObject--)
    {
    releaseAnchored(myObjects[oneObject]);
    }

    function releaseAnchored(theObject)
    {
    var theProps = theObject.properties;
    var thePage = findPage(theObject);
    if (thePage != null)
    {
    theObject.remove();
    var theFrame = thePage.textFrames.add();
    theFrame.properties = theProps;
    }
    }

    // findPage() // Dave Saunders & Gregor Fellenz
    function findPage(theObj)
    {
    var thePage = theObj;
    if (thePage.hasOwnProperty("baseline"))
    {
    thePage = thePage.parentTextFrames[0];
    if (thePage == null) {return null }
    }
    while (thePage.constructor.name != "Page")
    {
    var whatIsIt = thePage.constructor.name;
    switch (whatIsIt)
    {
    case "Character" :
    thePage = thePage.parentTextFrames[0];
    break;
    case "Spread" :
    thePage = thePage.pages[0];
    return thePage;
    case "Application" :
    // must be off page, so ignore
    return null;
    }
    thePage = thePage.parent;
    }
    return thePage
    }



als Antwort auf: [#496234]
(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2012, 16:03 geändert)

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 16:12
Beitrag # 6 von 11
Beitrag ID: #496237
Bewertung:
(4967 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und zu guter Letzt noch eine selbst ermittelte Methode. ;-)

Code
  1. var all_items = app.documents.firstItem().allPageItems;
    for (var i = all_items.length-1; i >= 0; i--)
    {
    if (all_items[i].parent.constructor == Character)
    all_items[i].anchoredObjectSettings.releaseAnchoredObject();
    }



als Antwort auf: [#496236]

Alle Marginalien lösen

Quarz
Beiträge gesamt: 3578

8. Jun 2012, 16:14
Beitrag # 7 von 11
Beitrag ID: #496239
Bewertung:
(4965 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich habe einen Test mit 5 Seiten gemacht.

Auf den beiden linken Seite wird die Marginalie,
die ja nun keine Marginalie mehr sein soll,
nicht eingefügt.

Fehlermeldung
siehe Screenshot


Soll ich Dir die 5 Seiten mal zuschicken?

---------------------
Meine Fehlermeldung bezieht sich auf
releaseAnchored_Dave_doc.jsx

Die anderen beiden Scripte probiert ich jetzt mal aus.


Gruß
Quarz

--------------------------------------------------------
Win7/64 Prof. | InDesign CS5 ver7.04 | CS6 |



als Antwort auf: [#496234]
(Dieser Beitrag wurde von Quarz am 8. Jun 2012, 16:16 geändert)

Anhang:
Fehlermeldung.png (7.00 KB)

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 16:23
Beitrag # 8 von 11
Beitrag ID: #496242
Bewertung:
(4950 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Soll ich Dir die 5 Seiten mal zuschicken?


Gerne.
Nur her damit.


Antwort auf: Fehler: Das aktuelle Scrap-Objekt kann nichteingefügt werden.

Was ist ein Scrap-Objekt?

Schrott?
Wie kommt so was zustande?


als Antwort auf: [#496239]
(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2012, 16:27 geändert)

Alle Marginalien lösen

Quarz
Beiträge gesamt: 3578

8. Jun 2012, 16:26
Beitrag # 9 von 11
Beitrag ID: #496243
Bewertung:
(4946 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

das ist nicht mehr nötig.

Das Script von Dir ist kurz und schmerzlos
und funktioniert tadellos :-)

Das Script releaseAnchored_Ole_doc.jsx
funktioniert auch besten;
löscht aber die zugewiesenen AF.
Das ist vielleicht gar nicht so schlecht,
da ich die Texte fürs Internet brauche.

Ich danke Dir.
Du hast mir wieder etwas Zeit geschenkt.
Was soll ich denn jetzt damit machen ;-)


Gruß
Quarz

--------------------------------------------------------
Win7/64 Prof. | InDesign CS5 ver7.04 | CS6 |



als Antwort auf: [#496242]

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 16:29
Beitrag # 10 von 11
Beitrag ID: #496244
Bewertung:
(4939 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Was soll ich denn jetzt damit machen ;-)


Mir Deinen "Schrott" schicken!
Ich will so was auch mal haben.
Und etwas genauer anschauen.


als Antwort auf: [#496243]
(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2012, 16:29 geändert)

Alle Marginalien lösen

Martin Fischer
  
Beiträge gesamt: 12885

8. Jun 2012, 17:00
Beitrag # 11 von 11
Beitrag ID: #496246
Bewertung:
(4887 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

habe Deine IDML-Datei zum Testen und Analysieren erhalten.
Leider entsteht bei mir (OS X 10.6.8, InDesign CS6) mit dem o.g. Skript kein Scrap-Objekt. :-(

Ist aber weiter nicht so schlimm.


als Antwort auf: [#496244]
(Dieser Beitrag wurde von Martin Fischer am 8. Jun 2012, 22:07 geändert)
X