[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: 3508

8. Jun 2012, 14:25
Beitrag # 1 von 11
Bewertung:
(4694 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: 12691

8. Jun 2012, 14:50
Beitrag # 2 von 11
Beitrag ID: #496229
Bewertung:
(4677 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: 3508

8. Jun 2012, 15:09
Beitrag # 3 von 11
Beitrag ID: #496233
Bewertung:
(4665 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: 12691

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

auf die Schnelle ...

Versuch's mal damit.
Code
// 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: 12691

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

Code
// 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: 12691

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

Code
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: 3508

8. Jun 2012, 16:14
Beitrag # 7 von 11
Beitrag ID: #496239
Bewertung:
(4615 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: 12691

8. Jun 2012, 16:23
Beitrag # 8 von 11
Beitrag ID: #496242
Bewertung:
(4600 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: 3508

8. Jun 2012, 16:26
Beitrag # 9 von 11
Beitrag ID: #496243
Bewertung:
(4596 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: 12691

8. Jun 2012, 16:29
Beitrag # 10 von 11
Beitrag ID: #496244
Bewertung:
(4589 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: 12691

8. Jun 2012, 17:00
Beitrag # 11 von 11
Beitrag ID: #496246
Bewertung:
(4537 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