[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:
(4390 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: 1563

7. Jan 2008, 01:12
Beitrag # 2 von 28
Beitrag ID: #329454
Bewertung:
(4375 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

Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#329451]

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 11871

7. Jan 2008, 08:33
Beitrag # 3 von 28
Beitrag ID: #329461
Bewertung:
(4331 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]

Viele Grüße
Martin


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:
(4290 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: 11871

8. Jan 2008, 10:16
Beitrag # 5 von 28
Beitrag ID: #329777
Bewertung:
(4280 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.

Viele Grüße
Martin


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: 11871

8. Jan 2008, 10:34
Beitrag # 6 von 28
Beitrag ID: #329778
Bewertung:
(4273 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).

Viele Grüße
Martin


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:
(4212 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: 11871

9. Jan 2008, 16:23
Beitrag # 8 von 28
Beitrag ID: #330115
Bewertung:
(4210 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?

Viele Grüße
Martin


als Antwort auf: [#330112]

Marginalien via Tags automatisch in Textrahmen verschieben

Gerald Singelmann
  
Beiträge gesamt: 6183

9. Jan 2008, 18:03
Beitrag # 9 von 28
Beitrag ID: #330138
Bewertung:
(4189 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:
(4062 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:
(3972 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);
}
}

---------------------------------------------------------------------------------
Creative Suite CS3 Design Premium auf MacBook Core 2 Duo 2,4 GHz und 4 GB Ram mit Mac OS X 10.6.1


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: 11871

12. Feb 2008, 14:36
Beitrag # 12 von 28
Beitrag ID: #336417
Bewertung:
(3966 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"?

Viele Grüße
Martin


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:
(3956 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.


Matthias


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:
(3937 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
---------------------------------------------------------------------------------
Creative Suite CS3 Design Premium auf MacBook Core 2 Duo 2,4 GHz und 4 GB Ram mit Mac OS X 10.6.1


als Antwort auf: [#336429]

Marginalien via Tags automatisch in Textrahmen verschieben

Martin Fischer
  
Beiträge gesamt: 11871

12. Feb 2008, 16:12
Beitrag # 15 von 28
Beitrag ID: #336464
Bewertung:
(3934 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.

Viele Grüße
Martin


als Antwort auf: [#336460]
X
Hier Klicken

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
26.09.2018

Hochschuloe der Medien, Stuttgart
Mittwoch, 26. Sept. 2018, 19.00 - 21.00 Uhr

Vertrag

Nur auf den ersten Blick scheint dieses Thema exotisch. Aber eine neue EU-Richtlinie und deren Auswirkungen auf deutsche Gesetze werden dieses Thema auch für Publisher interessant machen. Die EU-Richtlinie "2102 zu Barrierefreiheit" besagt folgendes: Ab dem 23. September 2018 müssen alle öffentlichen Stellen ihre neuen (Office- oder PDF-) Dokumente grundsätzlich barrierefrei veröffentlichen. Im Juni wurde der Gesetzentwurf zur Umsetzung dieser Richtlinie im deutschen Bundestag vom "Ausschuss für Arbeit und Soziales" (19/2728) angenommen. Es wird also ernst für "öffentliche Stellen" und damit auch für deren Dienstleister, die mit der Umsetzung beauftragt werden. Die Richtlinie gilt nämlich nicht nur für Bundes- und Landesbehörden, sondern auch für Verbände, die im Allgemeininteresse liegende Aufgaben erfüllen. Das wären somit auch Gerichte, Polizeistellen, Krankenhäuser, Universitäten, Bibliotheken und einige mehr. Weitere Informationen findest Du hier, hier und hier. Wenn also oben genannte Auftraggeber zu Deinen Kunden zählen, solltest Du Dich vorbereiten. Und da es neben Websites auch um alle downloadbaren Dateien geht sind eben auch PDFs zukünftig barrierefrei zu erstellen. Arbeitet man in InDesign, können dort einige Vorbereitungen getroffen werden. Klaas Posselt ist der ausgewiesene Spezialist im deutschsprachigen Raum für alle Fragen rund um das Thema. Deshalb freuen wir uns, dass er uns in einem Vortrag die Grundlagen dazu vermitteln wird. Wir setzen voraus, dass Du den Umgang mit InDesign gewohnt bist, die Gründe und Vorteile von der Nutzung von Formaten kennst und weißt, wie man lange Dokumente „richtig“ aufbaut. Der Vortrag setzt bewusst DANACH ein. Inhalt des Vortrages ist der Hintergrund von „Barrierefreiheit“ und Möglichkeiten und Grenzen innerhalb von InDesign. Es wird erklärt, welche Bedeutung das kostenpflichtige PlugIn MadeToTag hat und warum und für was man es braucht. Ziel ist es den Rahmen aufzuzeigen, in dem sich das Thema „Barrierefreiheit“ in InDesign abspielt. Du weißt hinterher, wo die „Baustellen“ sind, wo Du weitergehende Infos bekommst und welchen Weg Du einschlagen musst. Am nächsten Tag veranstalten wir zwei Bootcamps, die das Thema praktisch vertiefen. "IDUGS Bootcamp #2" und "IDUGS Bootcamp #3" Klaas Posselt ist studierter Dipl.-Ing. für Druck- und Medientechnik und kam über verschiedene Anfragen zum Thema barrierefreie PDF Dokumente. Seit über 10 Jahren arbeitet er in den Bereichen Medientechnik und Publishing zwischen Medienherstellern, Druckermaschinen und digitalen Ausgabekanälen. Er schult, begleitet und unterstützt Kunden bei der Einführung und Optimierung von Publikationsprozessen und auf dem Weg zu neuen digitalen Ausgabekanälen — egal ob E-Books, barrierefreie PDFs oder Webplattformen. Als Chairman des PDF/UA Competence Center der PDF Association beteiligt er sich an der Weiterentwicklung und Verbreitung des Standards PDF/UA für barrierefreie PDF Dokumente. Diese Veranstaltung kommt nur zu Stande durch die freundliche Unterstützung von "Six Offene Systeme GmbH" -- Enterprise-Content-Management-System und Media-Asset-Management-System.

Nein

Organisator: IDUG Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailchristoph.steffens AT gmail DOT com

https://idug47.eventbrite.de

Veranstaltungen
27.09.2018

Screen IT, Uster
Donnerstag, 27. Sept. 2018, 17.30 - 20.00 Uhr

Infoveranstaltung

Das Angebot an Publishing-Software ist gross. Deshalb empfiehlt sich eine externe Beratung durch unabhängige Software-Experten aus der jeweiligen Branche. Nicht immer muss es eine teure Mietlösung sein, die nach Beendigung der Mietdauer einem nicht einmal gehört. Es gibt sehr gute und auch in der Qualität ausreichende Alternativen, ja sogar kostenlose Freeware. Lassen Sie sich an diesem Abend einmal vor Augen führen, was diese Programme können und wie viel sie kosten.

Ja

Organisator: Screen IT und pre2media

Kontaktinformation: Peter Jäger, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/infoanlass/

Hier Klicken