Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Absätze in einzelne Textrahmen umwandeln

Absätze in einzelne Textrahmen umwandeln

queenmum
Beiträge gesamt: 24

10. Apr 2018, 12:45
Bewertung:

gelesen: 10053

Beitrag als Lesezeichen
Hallo liebes Forum!
Einen (markierten) Textrahmen mit einzelnen Absätzen – einzeilig und ein Absatzformat ist zugewiesen – möchte ich in einzelne, nicht verkettete Textrahmen umwandeln. Der Text soll danach manuell an andere Positionen verschoben werden. Da ich diesen Fall sehr häufig habe, wäre ein Skript sehr hilfreich. Gibt es für diesen Zweck schon ein Skript? Ich habe in diesem Forum gesucht und nichts passendes gefunden.
Ich bin dankbar für hilfreiche Hinweise.

Absätze in einzelne Textrahmen umwandeln

Quarz
Beiträge gesamt: 3550

10. Apr 2018, 13:43
Bewertung:

gelesen: 10044

Beitrag als Lesezeichen
Hallo queenmum,

Antwort auf: Einen (markierten) Textrahmen mit einzelnen Absätzen

Geht dieser Textrahmen über mehrere Seiten?

Wenn ja, dürfte Dir das Script SplitStory.jsx,
das in den Beispielscripten von Adobe zu ID
enthalten ist, weiterhelfen.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |


Anhang:
SplitStory.jsx (2.50 KB)

Absätze in einzelne Textrahmen umwandeln

queenmum
Beiträge gesamt: 24

10. Apr 2018, 13:59
Bewertung:

gelesen: 10042

Beitrag als Lesezeichen
Vielen Dank, aber leider funktioniert dieses Skript nicht. Ich bekomme eine Fehlermeldung: "Please select a story containing more than one text frame and try again." Ich weiß nicht, was das Skript hier mit "story" meint. Anscheinend etwas, wo mehr als ein Textrahmen enthalten sein soll.
Und: Meine betreffenden Textrahmen gehen nicht über mehrere Seiten. Aber selbst wenn ich das testhalber so anlege, kommt die gleiche Meldung.

Gruß
queenmum

Antwort auf: Hallo queenmum,

Antwort auf: Einen (markierten) Textrahmen mit einzelnen Absätzen

Geht dieser Textrahmen über mehrere Seiten?

Wenn ja, dürfte Dir das Script SplitStory.jsx,
das in den Beispielscripten von Adobe zu ID
enthalten ist, weiterhelfen.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |


Anhang:
Skript-Meldung.PNG (4.14 KB)

Absätze in einzelne Textrahmen umwandeln

Quarz
Beiträge gesamt: 3550

10. Apr 2018, 14:11
Bewertung:

gelesen: 10039

Beitrag als Lesezeichen
Hallo queenmum,

Antwort auf: Meine betreffenden Textrahmen gehen
nicht über mehrere Seiten.

Also gibt es auf einer Seite mehrere
verbundene Textrahamen.?

Mit welcher ID-Version arbeitest Du?
Schau doch mal in Deine mitgelieferten
Beispielskripte.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |

Absätze in einzelne Textrahmen umwandeln

Kai Rübsamen
Beiträge gesamt: 4684

10. Apr 2018, 14:19
Bewertung:

gelesen: 10034

Beitrag als Lesezeichen
Wenn man das SplitStory-Skript so anwendet, bringt das nichts, weil ja bereits alles in einem Textrahmen ist.

Was aber funktioniert: im Absatzformat > Umbruchoptionen > in nächstem Rahmen oder so hinterlegen. Jetzt hat der Textrahmen einen Übersatz, der mit dem schwarzen Pfeil aufgenommen werden kann. Anschließend bei gedrückter Alt-Taste neue Rahmen erzeugen u. dann das SplitStory-Skript laufen lassen. Alternativ kann man die verketteten Rahmen auch vorher im Raster erzeugen und den Text einfach per Drag&Drop reinschieben.

Ich erinnere mich dunkel, dass es auch ein kostenloses Skript vom ajar productions (Justin Putney) gibt, dass das kann.

Gruß Kai Rübsamen

Absätze in einzelne Textrahmen umwandeln

queenmum
Beiträge gesamt: 24

10. Apr 2018, 14:24
Bewertung:

gelesen: 10029

Beitrag als Lesezeichen
Ich arbeite mit ID CC (13.1. x64) auf WIN 10.
Es gibt auf einer Seite einen Textrahmen mit vielen Absätzen. Diese Absätze möchte ich in einzelne Textrahmen umwandeln, damit ich sie als Beschriftungen zu einer Grafik an die betreffenden Stellen der Grafik setzen kann. Das sind ca. 20-50 Einträge pro Grafik. Unter den Skripten, die InDesign mitbringt habe ich nichts Passendes gefunden. Ich habe auch schon danach im www gesucht. Aber anscheindend ist es doch etwas, was nicht standardmäßig gebraucht wird. Ich bin auch bereit, einen kostenpflichtigen Auftrag zu erteilen.
Grüßle
queenmum

Antwort auf: Hallo queenmum,

Antwort auf: Meine betreffenden Textrahmen gehen
nicht über mehrere Seiten.

Also gibt es auf einer Seite mehrere
verbundene Textrahamen.?

Mit welcher ID-Version arbeitest Du?
Schau doch mal in Deine mitgelieferten
Beispielskripte.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |


Absätze in einzelne Textrahmen umwandeln

Quarz
Beiträge gesamt: 3550

10. Apr 2018, 14:31
Bewertung:

gelesen: 10026

Beitrag als Lesezeichen
Hallo queenmum,

schau mal hier:
www.hilfdirselbst.ch/gforum/gforum.cgi?post=562844#562844

Das müßte das Richtige sein.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |

Absätze in einzelne Textrahmen umwandeln

Kai Rübsamen
Beiträge gesamt: 4684

10. Apr 2018, 14:38
Bewertung:

gelesen: 10024

Beitrag als Lesezeichen
Quarz, das Skript passt nicht, zumindest wenn ich nach der Überschrift (selektiert) gehe.

Edit: Ich hänge hier noch mal einen Screen an, wie ich das mache. Es kann sein, dass dan ein Return übrig bleibt, der den Rahmen nicht richtig anpassen lässt. Den kriegt man aber mit einen S&E vor dem Anpassen raus.

Aufwand für deine 50 Einträge: Wahrscheinlich unter 1 Min.

Gruß Kai Rübsamen

(Dieser Beitrag wurde von Kai Rübsamen am 10. Apr 2018, 14:42 geändert)

Anhang:
Bildschirmfoto 2018-04-10 um 14.36.03.png (61.3 KB)

Absätze in einzelne Textrahmen umwandeln

queenmum
Beiträge gesamt: 24

10. Apr 2018, 15:45
Bewertung:

gelesen: 10003

Beitrag als Lesezeichen
Hallo Kai,
klar kann ich mit Umbruchoptionen den Text dahin beeinflussen, dass er in den nächsten Textrahmen fließen soll. Für einen anderen Zweck habe ich das auch schon so ausgeführt. Aber in meinem jetzigen Fall habe ich erst einmal nur einen Textrahmen. Und gerne würde ich mit einem Mausklick aus diesem einen Textrahmem für jeden Absatz, der sich darin befindet, einen eigenen Textrahmen erzeugen.
Selbstverständlich kann ich das auch über kopieren/ausschneiden und Strg + V ausführen. Das bedarf dann aber x Mausklicks. Und diesen Aufwand will ich verringern.
Ist jemand aus dem Forum bereit, so ein Skript gegen Entgelt zu erstellen und wenn ja, wieviel würde es kosten?
Gruß
queenmum

Antwort auf: Quarz, das Skript passt nicht, zumindest wenn ich nach der Überschrift (selektiert) gehe.

Edit: Ich hänge hier noch mal einen Screen an, wie ich das mache. Es kann sein, dass dan ein Return übrig bleibt, der den Rahmen nicht richtig anpassen lässt. Den kriegt man aber mit einen S&E vor dem Anpassen raus.

Aufwand für deine 50 Einträge: Wahrscheinlich unter 1 Min.

Absätze in einzelne Textrahmen umwandeln

Quarz
Beiträge gesamt: 3550

10. Apr 2018, 15:58
Bewertung:

gelesen: 10000

Beitrag als Lesezeichen
Hallo queenmum,

hast Du das von mir empfohlene 2. Script ausprobiert?
Ich habe es getestet.
> Absatz markieren > Script ausrufen
Das ist schon alles :-)
Der Text wird ausgeschnitten und in einen eigenen
Textrahmen gesetzt.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |

Absätze in einzelne Textrahmen umwandeln

WernerPerplies
Beiträge gesamt: 2760

10. Apr 2018, 16:10
Bewertung:

gelesen: 9997

Beitrag als Lesezeichen
Hallo queenmum,

irgendwie scheint mir Deine Aufgabenstellung noch nicht vollständig zu sein:

Fehlen da nicht noch mindestens Angabe zu Größe, Position und ev. Gestaltung der Rahmen?

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Absätze in einzelne Textrahmen umwandeln

Kai Rübsamen
Beiträge gesamt: 4684

10. Apr 2018, 16:16
Bewertung:

gelesen: 9992

Beitrag als Lesezeichen
Werner, da fehlen keine Angaben. Die Aufgabenstellung ist klar. Queenmum, ich kann dir so ein Skript schreiben :)

Gruß Kai Rübsamen

Absätze in einzelne Textrahmen umwandeln

queenmum
Beiträge gesamt: 24

10. Apr 2018, 17:35
Bewertung:

gelesen: 9979

Beitrag als Lesezeichen
Hallo Quartz,
beim Lesen der Antworten hatte ich den chronologischen Faden verloren und daher deinen Hinweis auf das zweite Skript übersehen. Jetzt habe ich es installiert und ausprobiert. Es ist ein Schritt in die richtige Richtung. Der Haken ist allerdings, dass ich vorher jeden Absatz einzeln markieren muss und da kommen schon ordentlich viele Klicks zusammen.

@Kai: Was ich brauche bedarf tatsächlich noch einer Überarbeitung des Skripts. Ich schreibe dir noch persönlich.

Danke an alle, die sich mit meiner Anfrage beschäftigt haben.
Gruß
queenmum

Antwort auf: Hallo queenmum,

hast Du das von mir empfohlene 2. Script ausprobiert?
Ich habe es getestet.
> Absatz markieren > Script ausrufen
Das ist schon alles :-)
Der Text wird ausgeschnitten und in einen eigenen
Textrahmen gesetzt.

Gruß
Quarz
------------------------------
| Win7/64 Prof. | CS6 ver 8.1 |

Absätze in einzelne Textrahmen umwandeln

Kai Rübsamen
Beiträge gesamt: 4684

10. Apr 2018, 17:47
Bewertung:

gelesen: 9978

Beitrag als Lesezeichen
Ich würde natürlich nicht Stephans Skript verwenden, da hier der Rahmen auch nicht angepasst wird. Ich würde ein vorhandenes Skript von mir umschreiben :)

Gruß Kai Rübsamen

Absätze in einzelne Textrahmen umwandeln

Stephan_M
Beiträge gesamt: 480

1. Mai 2018, 20:37
Bewertung:

gelesen: 9648

Beitrag als Lesezeichen
Hi,
hier wäre eine Variante von "SelectedTextToNewFrame".

Setzt voraus: einen einzelnen selektierten Textrahmen mit Paragrafen, ohne Übersatz. Erzeugt dann jeden einzelnen Paragrafen daraus in einen eigenen Textrahmen an gleicher Stelle und löscht anschließend den selektierten Textrahmen.

Kein Problem wenn Kai das hinter der Bühne schon erledigt hat, hat das sicher eine höhere Qualität - hier nur die krude schnelle Lösung.

liebe Grüße,
Stephan

Code
// paragraphsToOwnFrames.jsx   
#target indesign

// Script expects a single selected textframe with one or more paragraphs. It will copy each paragraphs into their own snug fitting textframes at the same location, and then remove the source textframe.

Paragraph.prototype.toOwnFrame = function () {
var tf = this.parentTextFrames[0];
var nf; // new frame
var uJustification = this.justification;
this.justification = Justification.LEFT_ALIGN;
var hProps = [
this.horizontalOffset - this.leftIndent - this.firstLineIndent,
tf.textFramePreferences.textColumnFixedWidth
];
nf = this.parentTextFrames[0].parent.textFrames.add();
nf.geometricBounds = [this.lines[-1].baseline, hProps[0], this.lines[0].baseline - this.lines[0].ascent, hProps[0] + hProps[1]];
nf.textFramePreferences.firstBaselineOffset = FirstBaseline.ascentOffset;
this.duplicate(LocationOptions.atBeginning, nf.insertionPoints.item(0));
nf.insertionPoints.item(0).paragraphs[0].justification = uJustification;
}

if (app.documents.length != 0) {
var s = app.selection;
if (s.length === 1 && s[0].constructor.name === "TextFrame" && s[0].paragraphs.length >= 0) {
if (!s[0].overflows) {
var ps = s[0].paragraphs;
// store old ruler origin and app.textwrap setting for new frames
var uRuler = app.activeDocument.viewPreferences.rulerOrigin;
app.activeDocument.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var uWrap = app.activeDocument.textWrapPreferences.textWrapMode;
// do all paragraphs in one step
var sT = "app.activeDocument.textWrapPreferences.textWrapMode = TextWrapModes.NONE;\nfor (var i=0; i < ps.length; i++) {ps[i].toOwnFrame()}\ns[0].remove();\napp.activeDocument.textWrapPreferences.textWrapMode = uWrap;\n";
app.doScript(sT, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT, "Paragraphs to own frames");
// restore stored settings
app.activeDocument.viewPreferences.rulerOrigin = uRuler;
}
else {
alert('Please make sure the textframe isn\'t overflowing.');
}
}
else {
alert('Please select a single Textframe with at least one paragraph.');
}
}


(Dieser Beitrag wurde von Martin Fischer am 14. Mai 2019, 11:47 geändert)

Absätze in einzelne Textrahmen umwandeln

Kai Rübsamen
Beiträge gesamt: 4684

2. Mai 2018, 10:45
Bewertung:

gelesen: 3070

Beitrag als Lesezeichen
Antwort auf: Kein Problem wenn Kai das hinter der Bühne schon erledigt hat, hat das sicher eine höhere Qualität - hier nur die krude schnelle Lösung.

Obs eine höhere Qualität hat, weis ich nicht, aber ich habe in der Tat im April eine – kostenpflichtige – Variante erstellt, die mit mehreren Rahmen umgeht, auch Übersatz behandelt, neue x/y-Koordinaten setzt (ohne Textumfluss), die Rahmen an den Text anpasst und überflüssige Returns löscht.

@ Stephan: Prüf mal deinen Code. Dein Skript wirft so einen Fehler in der Variablen "sT"

Gruß Kai Rübsamen

Absätze in einzelne Textrahmen umwandeln

Stephan_M
Beiträge gesamt: 480

2. Mai 2018, 20:18
Bewertung:

gelesen: 3053

Beitrag als Lesezeichen
Seh den Fehler nicht, bei mir läufts auch. Ist das ein CC Ding?

Absätze in einzelne Textrahmen umwandeln

Kai Rübsamen
Beiträge gesamt: 4684

2. Mai 2018, 20:31
Bewertung:

gelesen: 3050

Beitrag als Lesezeichen
Hm, was machen z.B. "\" da?

Gruß Kai Rübsamen

Absätze in einzelne Textrahmen umwandeln

Uwe Laubender
Beiträge gesamt: 5316

2. Mai 2018, 20:37
Bewertung:

gelesen: 3049

Beitrag als Lesezeichen
Antwort auf: Seh den Fehler nicht, bei mir läufts auch. Ist das ein CC Ding?


Hallo Stephan,
eindeutig nein. Hab's mal über das ESTK nach InDesign CS6 8.1.0 ausführen lassen. Fehlermeldung: Unterminated String Constant

Das liegt an den "-Zeichen. Probier's mal mit "Fencing" über drei einfache '-Zeichen. Das funktioniert in jedem Fall:

Code
var sT = '''\  
app.activeDocument.textWrapPreferences.textWrapMode = TextWrapModes.NONE;\
for (var i=0; i < ps.length; i++) {ps[i].toOwnFrame()} \
s[0].remove();\
app.activeDocument.textWrapPreferences.textWrapMode = uWrap;\
''';


Vielleicht war's aber auch die Forumsoftware, die aus zwei '-Zeichen ein "-Zeichen gebildet hat?
*****
Mit herzlichem Gruß,
Uwe Laubender

Absätze in einzelne Textrahmen umwandeln

Uwe Laubender
Beiträge gesamt: 5316

2. Mai 2018, 20:41
Bewertung:

gelesen: 3047

Beitrag als Lesezeichen
Antwort auf: Hm, was machen z.B. "\" da?


Hallo Kai,
wir haben es bei Variable sT mit einem String zu tun, dessen Zeilenschaltungen über \ funktionieren. Dieser wird über doScript() als erstes Argument ausgeführt.
Wenn das korrekt "formatiert" ist, bzw. korrekt "umzäunt" (=fencing), dann funktioniert das wie beabsichtigt.
*****
Mit herzlichem Gruß,
Uwe Laubender

Absätze in einzelne Textrahmen umwandeln

Stephan_M
Beiträge gesamt: 480

3. Mai 2018, 09:03
Bewertung:

gelesen: 3008

Beitrag als Lesezeichen
Danke Uwe. Bei Triple Quotes bräuchte man gar keine Backslashes mehr. ;)

Ich hab vor zwei tagen gespendet, bin also bald wieder Member, dann lad ich das Skript hier hoch.

Stephan

Absätze in einzelne Textrahmen umwandeln

Stephan_M
Beiträge gesamt: 480

3. Mai 2018, 21:58
Bewertung:

gelesen: 2944

Beitrag als Lesezeichen
Skript "paragraphsToOwnFrames.jsx" ist angefügt.

Anhang:
paragraphsToOwnFrames.jsx (2.49 KB)