[GastForen Programme Print/Bildbearbeitung Adobe InDesign Marginalien via Tags automatisch in Textrahmen verschieben

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

Marginalien via Tags automatisch in Textrahmen verschieben

madram
Beiträge gesamt: 3

7. Jan 2008, 00:23
Beitrag # 1 von 28
Bewertung:
(5457 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich habe mich seit heute mit Indesign-Scripting beschäftigt, weil ich gerade eine wissenschaftliche Arbeit von DokuWiki in Indesign importieren möchte. Nun habe ich die Daten als XML-Datei vorliegen. Die Absatz- und Zeichenstile werden einwandfrei übernommnen. Nur bei den Fußnoten hapert es noch. Diese sollen als Marginalien an den Rand.

Es existiert ein ObjektStil "Marginalia", welcher einen verankerten Textrahmen definiert. Von Hand geht die Zuweisung wunderbar, aber es soll ja jetzt automatisch laufen. Die Marginalien selber sind XML-Tags im Fließtext und momentan noch im Haupttextrahmen zu sehen.

Ein Script soll jetzt den XML-Baum nach Tags mit dem Namen "Marginalia" durchsuchen und deren Inhalt in einen neuerstellten Textrahmen des Stils "Marginalia" verschieben. Durch die Suche in diesem Forum habe ich mir schonmal folgenden Code zusammengeklickt:

Code
/** 
* This script walks through all XML-tags and moves all texts associated
* with "Marginalia" to anchored text frames
*/

var wantedTag = "Marginalia";
var marginaliaStyle = "Marginalia";
var crntDoc = app.activeDocument;

// start script
deepSearch(crntDoc, wantedTag);


/**
* traverse XML-Tree and look for element
*/
function deepSearch(element, tag){
var crnt;
var i;
for (i = 0; i < element.xmlElements.length; i++){
crnt = element.xmlElements[i];
if (crnt.markupTag.name == tag){
convertToMarginalia(crnt);
}
deepSearch(crnt, tag);
}
}

/**
* create text frame, and copy content into
*/
function convertToMarginalia(element) {
// var content = element.contents;
var textFrame = element.texts[0].parentTextFrames[0]; // the parent textframe of the actual element
var paragraphs = textFrame.paragraphs; // doesnt return the actual position

if(textFrame.appliedObjectStyle.name != marginaliaStyle) { // don't touch existing marginalia
$.writeln("Found marginalia, moving to anchored text frame...");
// move text into frame
var myFrame = paragraphs.item(0).insertionPoints[0].textFrames.add(); // create frame
var margStyle = app.activeDocument.objectStyles.item(marginaliaStyle); // get Style
//myFrame.applyObjectStyle(margStyle, true); // ID crashes here...
element.texts[0].move(LocationOptions.atBeginning, myFrame.texts[0]); // move Text
}
}



Das Traversieren ist nichts besonderes, aber beim Verschieben des Inhaltes bin ich sehr unsicher, kenne das Objektmodell von Indesign zu schlecht. Der Text wird zwar verschoben, aber ungetagged. Im Haupttextrahmen bleibt ein leeres Element zurück. Außerdem landet der verankerte Textrahmen immer am Anfang, aber ich setze ja auch den Cursor (noch) nicht.

Mir geht es eigentlich hauptsächlich darum, die Marginalie samt XML-Tag in den neuen Textrahmen zu verschieben.

Wäre dankbar, wenn mir jemand dabei auf die Sprünge helfen könnte.

Richard

PS: Warum wird mein Beitrag samt Code ab der Hälfte kursiv dargestellt?

(Dieser Beitrag wurde von Martin Fischer am 7. Jan 2008, 07:50 geändert)
X

Marginalien via Tags automatisch in Textrahmen verschieben

pixxxelschubser
Beiträge gesamt: 1708

7. Jan 2008, 01:12
Beitrag # 2 von 28
Beitrag ID: #329454
Bewertung:
(5442 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo madram,

erst einmal willkommen auf HDS
Beim Scripten kann ich Dir leider nicht helfen.

Antwort auf: PS: Warum wird mein Beitrag samt Code ab der Hälfte kursiv dargestellt

Hier gibt es wahrscheinlich eine Kollision mit der foreneigenen Formatierung.
[i] Sample Text [/i] ergibt zum Beispiel Kursiven Text = Sample Text

Damit Du jetzt [i] sehen kannst habe ich vor dem "i" einen Punkt eingefügt, also [.i]
(Damit du jetzt "[.i]" sehen kannst, mußte ich beim Schreiben 2 Punkte einfügen.)

Wink


als Antwort auf: [#329451]

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 12783

7. Jan 2008, 08:33
Beitrag # 3 von 28
Beitrag ID: #329461
Bewertung:
(5398 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Richard,

Antwort auf: Der Text wird zwar verschoben, aber ungetagged. Im Haupttextrahmen bleibt ein leeres Element zurück.


Das liegt an der Definition des Objekts "element.texts[0]", das verschoben werden soll:
Code
element.texts[0].move(LocationOptions.atBeginning,  myFrame.texts[0]); // move Text 

texts ist ein reines Textobjekt.

Da ich mich in XML nicht so gut auskenne, um eine qualifizierte Antwort geben zu können, kann ich nur zu einem Versuch ermutigen:
Definiere statt "element.texts[0]" zum Verschieben mal nur "element" (damit sollte das ganze Element verschoben werden).
Oder in einem zweiten Versuch (falls der erste scheitert): "element.xmlContent" (wobei dies wahrscheinlich auch nur den ungetaggten Inhalt verschiebt).



Antwort auf: Außerdem landet der verankerte Textrahmen immer am Anfang,


Das liegt an der Definition des Ursprungs des Textrahmens: 'var myFrame = paragraphs.item(0).insertionPoints[0].textFrames.add();'
- am ersten Einfügepunkt des ersten Absatzes (also vor dem ersten Zeichen des ersten Absatzes).

Wo soll er denn hin?
An die Stelle, wo der Cursor steht?
app.selection[0].insertionPoints[0]


als Antwort auf: [#329451]

Marginalien via Tags automatisch in Textrahmen verschieben

madram
Beiträge gesamt: 3

8. Jan 2008, 09:51
Beitrag # 4 von 28
Beitrag ID: #329768
Bewertung:
(5357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besten Dank erstmal für den Hinweis. Habs versucht, aber das ganze Element konnte ich nicht verschieben. Entweder kam es zum Absturz oder ID hat sich geweigert; weiß nicht mehr genau.

Folgendes Script geht jetzt durch sämtliche Tags, erzeugt Textrahmen, kopiert die Inhalte und weist den neuen Rahmen das existierende Tag zu.

Bleiben noch zwei offene Fragen:
Code
  * Der Cursor bleibt immer an der Stelle, wo ich 
ihn hingesetzt habe. Wie kann ich den so
manipulieren, dass er immer vor das ehemalige
XML-Element im alten Textrahmen zeigt?
* Wenn ich versuche, dem neuen Textrahmen einen
Objektstil zuzuweisen, schmiert ID ohne jegliche
Fehlermeldung einfach ab. Es scheint auch genau
bei diesem Befehl zu passieren, nicht irgendwann
später.


Antwort auf: Hier gibt es wahrscheinlich eine Kollision mit der foreneigenen Formatierung.
[i] Sample Text ergibt zum Beispiel Kursiven Text = Sample Text

Das ist ja lustig. Hab's umbenannt.

Danke nochmal für die Antworten.
Richard

Code
/** 
* This script walks through all XML-tags and moves
* all texts associated with "Marginalia" to
* anchored text frames
*/

var wantedTag = "Footnote";
var marginaliaStyle = "Marginalia";
var actDoc = app.activeDocument; // just lazyness

// start script
deepSearch(actDoc, wantedTag);


/**
* traverse XML-Tree and look for element
*/
function deepSearch(element, tag){
var crnt, x;
for (x = 0; x < element.xmlElements.length; x++){
crnt = element.xmlElements[x];
if (crnt.markupTag.name == tag){
convertToMarginalia(crnt);
}
deepSearch(crnt, tag);
}
}


/**
* create text frame, and copy content into
*/
function convertToMarginalia(element) {
var margStyle, elemPrntFrame;

elemPrntFrame = element.texts[0].parentTextFrames[0];

// perform only, when textframe is not tagged as marginalia
if(elemPrntFrame.appliedObjectStyle.name != marginaliaStyle) {
$.writeln("Found marginalia, move it to anchored text frame...");
// create frame at actual cursor position
var newFrame = actDoc.selection[0].insertionPoints[0].textFrames.add();
// move Text into Frame
element.texts[0].move(LocationOptions.atBeginning, newFrame.texts[0]);
newFrame.markup(element);

// get marginalia style
var margStyle = actDoc.objectStyles.item(marginaliaStyle);
// aply this style -> ID will crash here...
//newFrame.applyObjectStyle(margStyle, true);
}
}



als Antwort auf: [#329461]
(Dieser Beitrag wurde von madram am 8. Jan 2008, 09:58 geändert)

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 12783

8. Jan 2008, 10:16
Beitrag # 5 von 28
Beitrag ID: #329777
Bewertung:
(5347 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Richard,

die von Dir verwandte Methode, einen Objektstil zuzuweisen ist zwar die bessere (weil man damit bestimmen kann, daß Abweichungen gelöscht werden). Es gibt aber noch eine Alternative:
Code
myFrame.appliedObjectStyle = margStyle; 


Könntest Du mal testen, ob ID damit weiter abstürzt oder zumindest das Absturzproblem damit behoben ist?

Antwort auf: Der Cursor bleibt immer an der Stelle, wo ich
ihn hingesetzt habe. Wie kann ich den so
manipulieren, dass er immer vor das ehemalige
XML-Element im alten Textrahmen zeigt?


Versuchs mal folgendermaßen:
Ersetze
Code
// move Text into Frame  
element.texts[0].move(LocationOptions.atBeginning, myFrame.texts[0]);
myFrame.markup(element);


durch
Code
var myPointBeforeElement = element.texts[0].parentStory.insertionPoints[element.texts[0].insertionPoints[0].index-1]; 
// move Text into Frame
element.texts[0].move(LocationOptions.atBeginning, myFrame.texts[0]);
myFrame.markup(element);
myPointBeforeElement.select();


Eventuell geht die Bestimmung des myPointBeforeElement etwas einfacher (über previousItem).
Das müßte ich selbst erst noch konkret prüfen.


als Antwort auf: [#329768]
(Dieser Beitrag wurde von Martin Fischer am 8. Jan 2008, 10:20 geändert)

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 12783

8. Jan 2008, 10:34
Beitrag # 6 von 28
Beitrag ID: #329778
Bewertung:
(5340 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
var myPointBeforeElement = element.texts[0].parentStory.insertionPoints.itemBefore(element.texts[0].insertionPoints[0]); 


Der Einfügepunt vor element ist notwendig, da element verschoben wird (und mit ihm der erste Einfügepunkt).


als Antwort auf: [#329777]

Marginalien via Tags automatisch in Textrahmen verschieben

madram
Beiträge gesamt: 3

9. Jan 2008, 16:17
Beitrag # 7 von 28
Beitrag ID: #330112
Bewertung:
(5279 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin.

=== Stil zuweisen ===
Die "alternative" und offizielle weil dokumentierte Variante, welche Sie vorgeschlagen haben, bringt hier nicht viel, weil sämtliche wichtigen Stile nicht übernommen werden.

ID (CS2) stürzt übrigens immer nur dann beim Objektstilzuweisen ab, wenn im Objektstil unter "Text Frame General Options" das Häkchen bei "Fixed Column Width" gesetzt ist. Marginalien sollten bei eine feste Breite besitzen, darum habe ich die Option gesetzt. Wird wohl ein Bug sein. Wenn ich die Option erben lasse, läuft alles wie geschmiert. Ebenso, wenn ich den Objektstil von Hand zuweise.

=== Textrahmen verschieben ===
Auch das läuft jetzt wunderbar. Die von Ihnen vorgeschlagene zweite Variante, das Vorgängerelement zu finden, bietet CS2 nicht an, aber ich habe ja auch nicht geschrieben, dass ich kein CS3 verwende.


Vielen Dank für die Hilfe. Ich probier noch ein bisschen und poste dann irgendwann das Script komplett.

Mit herzlichen Grüßen
Richard Weickelt


als Antwort auf: [#329778]

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 12783

9. Jan 2008, 16:23
Beitrag # 8 von 28
Beitrag ID: #330115
Bewertung:
(5277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: ID (CS2) stürzt übrigens immer nur dann beim Objektstilzuweisen ab, wenn im Objektstil unter "Text Frame General Options" das Häkchen bei "Fixed Column Width" gesetzt ist.


Ist es möglich, diese Häkchen zunächst mal wegzulassen und nach Aufführung des Skripts zu setzen?

Wenn ja - Ist es möglich, das Häkchen per Skript temporär zu deaktivieren, die Prozeduren auszuführen und am Ende das Häkchen über das Skript wieder zu aktivieren?


als Antwort auf: [#330112]

Marginalien via Tags automatisch in Textrahmen verschieben

Gerald Singelmann
  
Beiträge gesamt: 6269

9. Jan 2008, 18:03
Beitrag # 9 von 28
Beitrag ID: #330138
Bewertung:
(5256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat und nach Aufführung des Skripts zu setzen

:)


als Antwort auf: [#330115]

Marginalien via Tags automatisch in Textrahmen verschieben

silo
Beiträge gesamt: 29

28. Jan 2008, 10:51
Beitrag # 10 von 28
Beitrag ID: #333585
Bewertung:
(5129 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich arbeite mich seit letzter Woche in InDesign, den Import von XML in InDesign und nun auch in das Skripting mit InDesign ein. Ich bin vorher nie mit DTP-Programmen in Berührung gekommen.

Auf jeden Fall habe ich (neben vielen weiteren) ziemlich genau die selbe Anforderung an ein Skript wie es durch madram beschrieben wurde. Deshalb bin ich froh das in diesem Thema bereits ein so gutes Skript erarbeitet wurde. Einige Fragen und Anmerkungen habe ich jedoch noch.


Antwort auf [ madram ] ID (CS2) stürzt übrigens immer nur dann beim Objektstilzuweisen ab, wenn im Objektstil unter "Text Frame General Options" das Häkchen bei "Fixed Column Width" gesetzt ist. Marginalien sollten bei eine feste Breite besitzen, darum habe ich die Option gesetzt. Wird wohl ein Bug sein. Wenn ich die Option erben lasse, läuft alles wie geschmiert. Ebenso, wenn ich den Objektstil von Hand zuweise.

Dieses Problem habe ich versucht nachzustellen, konnte es aber in CS3 nicht mehr feststellen (allerdings weiss ich nicht genau was die Option "erben" im Kontext von InDesign bedeutet).


Antwort auf [ Martin Fischer ]
Code
var myPointBeforeElement = element.texts[0].parentStory.insertionPoints.itemBefore(element.texts[0].insertionPoints[0]); 


Bei dieser Zeile wirft mir ID einen JavaScript Fehler.
Code
element.texts[0].parentStory.insertionPoints.itemBefore ist keine Funktion 

Das Objektmodell für CS3 kennt nur previousItem(obj): InsertionPoint, und damit funktioniert es auch.


Als nächstes musste ich die Reihenfolge der Ereignisse anpassen (im Gegensatz zu der in Beitrag #4).
1. Zuerst die Cursorposition setzen
Code
var myPointBefore = elem... 
myPointBefore.select();


2. und erst dann ein neues Frame erzeugen
Code
var newFrame = actDoc... 


3. Text verschieben
Code
element.texts[0].move(... 
newFrame.markup(...


4. Objektstiel zuweisen
Code
var margStyle = actDoc.... 
newFrame.applyObjectStyle(...



Nun meine Fragen:
Wenn der Text auf mehreren Textrahmen (bzw. die Story auf mehreren sog. 'textContainers') verteilt ist funktioniert das nur für den ersten Textrahmen (textContainers[0]).
Ich habe überlegt eine Schleife über die entsprechenden Textrahmen zu durchlaufen (for(j=0; j<currentStory.textContainers.length; ++j)), aber das Skript wird ja über die deepSearch()-Funktion nicht auf einem Textrahmen aufgerufen, sondern auf dem Dokument. Und das iteriert über die XML-Elemente. Da bin ich gerade etwas überfordert und würde mich freuen wenn mir jemand einen Hilfreichen Tip geben könnte.


als Antwort auf: [#330115]

Marginalien via Tags automatisch in Textrahmen verschieben

Imion
Beiträge gesamt: 141

12. Feb 2008, 14:23
Beitrag # 11 von 28
Beitrag ID: #336408
Bewertung:
(5039 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich hoffe es ist in Ordnung, dass ich mich hier anschließe. Solch ein Sktipt habe ich nun auf der Basis des hier vorgestellten aufgebaut und für unsere Zwecke angepasst. Es funktioniert wunderbar und ich möchte mich bei allen Beteiligten bedanken, ich habe viel dadurch gelernt.

Nun erstelle ich gerade ein zweites Skript, welches global alle XML Tags durchläuft und die größen der Rahmen, egal ob Bilder oder Texte. Diesen Wert wende ich dann beim nächsten Objekt an, eshandelt sich um viele Rahmen die als verankerte Objekte in einem Fließtext eingebunden sind und über Objektstile ausgerichtet wurden, um dessen "y Versatz" Wert um die Höhe des vorhergehenden Rahmens zu verändern.

Das Funktioniert auch, solange der Rahmen, dessen Wert ich abgreifen möchte nicht einer von denen ist, die mit dem MarginalienScript erzeugt wurden. Ich bekomme zwar einen Wert, dieser ist aber die Höhe des Rahmens, in dem sich alle verankerten Objekte befinden und nicht der des neu erzeugten Rahmens.

Kann mir jemand sagen wo bei mir der Fehler liegt? Das wäre super.

Code
var objectHeight; 

traversexmlelements(app.activeDocument);
function traversexmlelements(elm){
var i;
for (i = 0; i < elm.xmlElements.length; i++){
if (elm.xmlElements[i].markupTag.name == "Artikelgruppe")
{
$.writeln("Artikelgruppe");
}
if (elm.xmlElements[i].markupTag.name == "Fotografie-Produktbild")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Fotografie-Schmuckbild")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Artikelgruppenname")
{
dothething(elm.texts[i].parentTextFrames[i]);
}
if(elm.xmlElements[i].markupTag.name == "Artikelgruppentext")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Guetesiegel")
{
dothething(elm.xmlElements[i]);
}
if(elm.xmlElements[i].markupTag.name == "Logo")
{
dothething(elm.xmlElements[i]);
}
traversexmlelements(elm.xmlElements[i]);
}
}

function dothething(elm){
var obj = null;
if (elm.pageItems.length != 0){
obj = elm;
} else if (elm.images.length !=0 ){
obj = elm.xmlContent.parent;
} else if (elm.epss.length != 0){
obj = elm.xmlContent.parent;
} else if (elm.pdfs.length !=0){
obj = elm.xmlContent.parent;
} else if (elm.texts.length !=0){
obj = elm.xmlContent.parent;
}
if (obj != null){
if(objectHeight)
{
obj.anchoredObjectSettings.anchorYoffset = objectHeight;
}
objectHeight = obj.geometricBounds[2] - obj.geometricBounds[0];
//alert(objectHeight);
}
}



als Antwort auf: [#333585]
(Dieser Beitrag wurde von Martin Fischer am 12. Feb 2008, 14:29 geändert)

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 12783

12. Feb 2008, 14:36
Beitrag # 12 von 28
Beitrag ID: #336417
Bewertung:
(5033 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Ich bekomme zwar einen Wert, dieser ist aber die Höhe des Rahmens, in dem sich alle verankerten Objekte befinden und nicht der des neu erzeugten Rahmens.


Mal ins Blaue rein:
Ist es möglich, daß Du ein Parent bzw. parentTextFrames[0] zu hoch gegangen bist?
Etwa bei "Artikelgruppenname"?


als Antwort auf: [#336408]

Marginalien via Tags automatisch in Textrahmen verschieben

zaphodbeeblebroxx
Beiträge gesamt: 408

12. Feb 2008, 14:57
Beitrag # 13 von 28
Beitrag ID: #336429
Bewertung:
(5023 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo,

vielleicht liegt es auch daran, dass Du mit Deinem ersten Skript verankerte Textrahmen erzeugst. Wenn Du dann mit Deinem 2. Skript über die XML-Tags auf diese verankerten Textrahmen (bzw. den Content) zugreifst und Dich über die parents "hochangelst" erhälst Du als parent evtl. insertionPoints, die keine geometricBounds besitzten. Mit parentTextFrames[0] erhälst Du dann (wie Martin schon vermutet hat) den TF in dem Dein Text mit dem verankerten Rahmen liegt und nicht den TF des verankerten Rahmens. Somit die falschen Werte.


als Antwort auf: [#336417]

Marginalien via Tags automatisch in Textrahmen verschieben

Imion
Beiträge gesamt: 141

12. Feb 2008, 16:08
Beitrag # 14 von 28
Beitrag ID: #336460
Bewertung:
(5004 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das stimmt so. Allerdings habe ich jetzt hier die ganze Zeit nach einer Möglichkeit im Datenbrowser gesucht den Textframe zu bekommen, der den Text an sich enthällt.
Dabei habe ich festgestellt, dass der neu erzeugte Textrahmen das entsprechende Tag erbt und das wenn ich vom Content eine Ebene höher gehe, immer sofort im Vatertextframe lande. Weiß jemand wie ich diesen dazwischenliegenden Textframe von der Story ausgehend aufrufen kann?

Sollte as jemand nachvollziehen wollen ist das ganz einfach möglich indem man einen großen Textrahmen erzeugt und diesem das Tag Artikelgruppe zuweist. Anschließend erzeugt man einen verankterten Rahmen und weißt diesem das Tag Artikelgruppentext zu. dann noch ein bischen Kauderwelch in den verankerten Rahmen getippt und das Script laufen lassen.

Ich hoffe jemand hat einen Tip für mich, es kann ja nicht sein, dass man diesen Rahmen nicht zu packen bekommt.

vielen Dank für eure Hilfe,

Gruß, Andreas


als Antwort auf: [#336429]

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 12783

12. Feb 2008, 16:12
Beitrag # 15 von 28
Beitrag ID: #336464
Bewertung:
(5001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Weiß jemand wie ich diesen dazwischenliegenden Textframe von der Story ausgehend aufrufen kann?


Es ist ein aStory.textFrames[x] (in CS3; in CS2 wahrscheinlich auch - da muß man aber aufpassen, daß man nicht die verknüpften Textrahmen der story erwischt)

Das x ermittelst Du über ein itemByRange vom ersten Zeichen der story bis zum besagten Textrahmen und zählst die darin enthaltenen Textrahmen.

Wahrscheinlich geht es sogar noch einfacher über den index des Textrahmens. Der müßte eigentlich je story bei 0 beginnen.


als Antwort auf: [#336460]
X

Aktuell

PDF / Print
enfocus_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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!