[GastForen Programme Print/Bildbearbeitung Adobe InDesign Suche Script: Mache Textframe aus selektiertem Text

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

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

16. Okt 2007, 11:33
Beitrag # 1 von 13
Bewertung:
(6214 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo hilfdirselbst Forum,
ich suche ein Script das ich mir bei meiner täglichen Arbeit in InDesign CS3 sehr hilfreich vorstelle. Ich würde 20 Euro an denjenigen Überweisen, der mir das Script findet oder gar schreibt.

Man selektiert Text in einem Rahmen, bzw. einer Textspalte. Das Script schneidet dann diesen Text aus und erstellt einen Textrahmen an der gleiche Stelle, mit der gleichen Breite der Textspalte in der Text vorher war und setzt den Text dort hinein. Der erstellte Textrahmen hat rechteckige Konturenführung mit 0mm.

Eigentlich einfach oder? Für Hilfe wäre ich sehr dankbar.
Stephan
X

Suche Script: Mache Textframe aus selektiertem Text

Gerald Singelmann
  
Beiträge gesamt: 6193

16. Okt 2007, 19:02
Beitrag # 2 von 13
Beitrag ID: #317284
Bewertung:
(6169 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Gibt es einen Grund, weshalb Sie dafür nicht mit einer Ein-Zellen-Tabelle arbeiten?


als Antwort auf: [#317171]

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

16. Okt 2007, 19:11
Beitrag # 3 von 13
Beitrag ID: #317285
Bewertung:
(6165 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Aber ja.
Ich bekomme viele Word Dokumente die ich in InDesign platziere. Ich muss sehr oft Absätze daraus markieren, diese auschneiden, wieder pasten und den so entstandenen Textrahmen wieder zurechtschieben und -zerren.
Wäre echt schön das ganze ein wenig automatisierter auf Tastendruck zu haben.

Wie genau funktioniert Ihre Idee mit den Tabellen?


als Antwort auf: [#317284]
(Dieser Beitrag wurde von Stephan_M am 16. Okt 2007, 19:13 geändert)

Suche Script: Mache Textframe aus selektiertem Text

Gerald Singelmann
  
Beiträge gesamt: 6193

16. Okt 2007, 19:47
Beitrag # 4 von 13
Beitrag ID: #317289
Bewertung:
(6157 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Wie genau funktioniert Ihre Idee mit den Tabellen?


Ich hatte Ihre Anfrage falsch verstanden. Ich dachte, Sie brauchen den Text im Hauptfluss verankert. Und das könnte in den meisten Fällen auch eine Tabellenzelle übernehmen.


als Antwort auf: [#317285]

Suche Script: Mache Textframe aus selektiertem Text

kkauer
Beiträge gesamt: 661

16. Okt 2007, 20:08
Beitrag # 5 von 13
Beitrag ID: #317292
Bewertung:
(6148 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan

ich bin mir nicht sicher, ob ich die Aufgabe komplett verstanden habe.

Code
if (app.documents.length > 0 && app.selection.length == 1 && app.selection[0].hasOwnProperty("baseline")) {  
vUnits = app.documents[0].viewPreferences.verticalMeasurementUnits;
app.documents[0].viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
selectedTextToNewFrame(app.selection[0]);
app.documents[0].viewPreferences.verticalMeasurementUnits = vUnits
}

function selectedTextToNewFrame(sText) {
var fBounds = sText.parentTextFrames[0].geometricBounds;
nFrame = sText.parentTextFrames[0].parent.textFrames.add();
nFrame.geometricBounds = [sText.characters[-1].baseline, fBounds[1], sText.characters[0].baseline - sText.characters[0].leading, fBounds[3]];
nFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;
nFrame.textWrapPreferences.textWrapType = TextWrapTypes.BOUNDING_BOX_TEXT_WRAP;
sText.move(LocationOptions.atBeginning, nFrame.insertionPoints.item(0));
}


Hilft das als Einstieg?

Karsten


als Antwort auf: [#317171]

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

16. Okt 2007, 20:47
Beitrag # 6 von 13
Beitrag ID: #317302
Bewertung:
(6132 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karsten,
schonmal vielen Dank, das Du dich des Problems annimmst. Leider kann ich nicht scripten und es mir zurechtbiegen, oder verstehen was es macht. Aber es scheint nah dran zu sein. Ich habs als text2frame.js im Scripte Order gespeichert und auf selectierten Text angewendet.

Er hat den Text ausgeschnitten und einen neuen Textrahmen erstellt der aber unendlich hoch war und seinen Ankerpunkt irgendwo in der Unendlichkeit hatte. Buggy, aber schon fast richtig.

Magst Du es mir nicht zuende-scripten? Ist 20 Euro angemessen?


als Antwort auf: [#317292]
(Dieser Beitrag wurde von Stephan_M am 16. Okt 2007, 20:48 geändert)

Suche Script: Mache Textframe aus selektiertem Text

kkauer
Beiträge gesamt: 661

16. Okt 2007, 21:04
Beitrag # 7 von 13
Beitrag ID: #317306
Bewertung:
(6120 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich sagte ja "als Einstieg". ;-)

Mit Textketten läuft das so nicht, aber mit einem einzelnen Rahmen (1-spaltig) sollte es klappen. Und genau da wollte ich ansetzen, um die Parameter (1. Grundlinie, Rahmenhöhe etc) zu klären.


Edit: Vergiss es erst einmal. Da ist noch was anderes nicht i.O.

Karsten


als Antwort auf: [#317302]
(Dieser Beitrag wurde von kkauer am 16. Okt 2007, 21:13 geändert)

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

16. Okt 2007, 21:35
Beitrag # 8 von 13
Beitrag ID: #317311
Bewertung:
(6103 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Cool!!!
Es muss gar nichts verkettet sein.
Es wäre aber schön wenn es auch aus mehrspaltigen Text heraus funktionieren würde.

Das ganze sollte wirklich nur ein ganz kleines unkompliziertes Script-Päkchen von ein paar Zeilen sein.

((Wäre der selektierte Text länger als eine Spalte, reicht es wenn der neue Rahmen einfach so hoch wie eine Spalte ist und der hineinkopierte Text dann Überfluss hat - denn sonst würde das ganze ja wirklich wahnsinnig komplex, glaube ich))


als Antwort auf: [#317306]

Suche Script: Mache Textframe aus selektiertem Text

kkauer
Beiträge gesamt: 661

16. Okt 2007, 22:46
Beitrag # 9 von 13
Beitrag ID: #317316
Bewertung:
(6077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitte prüfe, ob das Problem nur bei Texten auftaucht, die einen automatischen Zeilenabstand haben …


als Antwort auf: [#317311]
(Dieser Beitrag wurde von kkauer am 16. Okt 2007, 22:47 geändert)

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

17. Okt 2007, 01:08
Beitrag # 10 von 13
Beitrag ID: #317326
Bewertung:
(6045 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Yipeee! Hervorragend!
Das ist es. Es funktioniert schon supi bei nicht-automatischem Zeilenabstand. Er verhält sich sogar sofort wunderbar bei mehrspaltigen Text. Danke Danke Danke.
...Automatischen Zeilenabstand benutzt ja eh keiner. Vielleicht magst Du das für den uneingeweihten Script-Nutzer ja aber noch mit einer IF-Anweisung abfangen?

Bitte lasse mir auf jeden Fall deine Emailadresse / Bankverbindung zukommen, damit ich dich entlohnen kann.
Du erreichst mich unter:

"moebius ätt pdsounds pungd ORG" (Admin auf www.pdsounds.org)

Ich finde das Script sollte bei HIlfDirSelbst in die Scripte-Linksammlung eingehen, Du nicht auch? SelectedText2NewFrame ist ein guter Name.


als Antwort auf: [#317316]
(Dieser Beitrag wurde von Stephan_M am 17. Okt 2007, 01:14 geändert)

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

15. Mär 2018, 15:03
Beitrag # 11 von 13
Beitrag ID: #562844
Bewertung:
(683 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Omg, ist das lang her. 10 Jahre!!! Und ich benutze deses Skript immer noch täglich und ständig. Es gehört zu meinen Handgriffen. :)

Wenn der selektierte Text aber Spaltenspannend war (diese tolle neue Funktion die irgendwann mit CS5 oder CS6 dazu kam), dann hat das Skript nicht genau funktioniert, das hab ich endlich mal gefixt. *lach*

Code
// SelectedTextToNewFrames.jsx 

// Script expects selected text. It will put the selected text into its own textframe at the same location, the same width of the column and height of the selected text.
// It's a shortcut for the tedious CTRL-dragging of text out to a new framne, or cutting&pasting it out .... for instance if you simply want to move a headline into its own textframe.
// lastEdit 15.03.2018, Stephan Möbius, to make it work with column spanning paragaphs and right- or center-aligned text.

if (app.documents.length > 0 && app.selection.length == 1 && app.selection[0].hasOwnProperty("baseline") && app.selection[0].characters.length > 0) {
var sT = "selectedTextToNewFrame(app.selection[0])";
app.doScript(sT, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT, "Text to new frame");
}

function selectedTextToNewFrame(sText) {
var uRuler = app.documents[0].viewPreferences.rulerOrigin;
app.documents[0].viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var p = sText.paragraphs[0];
var tf = sText.parentTextFrames[0];
var colType = p.spanColumnType;
var spanColCount = p.spanSplitColumnCount;
spanColCount = (colType != SpanColumnTypeOptions.SPAN_COLUMNS) ? 1 : (spanColCount == SpanColumnCountOptions.ALL ? tf.textFramePreferences.textColumnCount : Math.min(tf.textFramePreferences.textColumnCount,spanColCount));
var uJustification = p.justification;
p.justification = Justification.LEFT_ALIGN;
hProps = [
p.horizontalOffset - p.leftIndent - sText.paragraphs[0].firstLineIndent,
tf.textFramePreferences.textColumnFixedWidth * spanColCount + ((spanColCount-1) * tf.textFramePreferences.textColumnGutter)
];
nFrame = sText.parentTextFrames[0].parent.textFrames.add();
nFrame.geometricBounds = [sText.lines[-1].baseline, hProps[0], sText.lines[0].baseline - sText.lines[0].ascent, hProps[0] + hProps[1]];
nFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.ascentOffset;
nFrame.textWrapPreferences.textWrapMode = TextWrapModes.BOUNDING_BOX_TEXT_WRAP;
nFrame.textWrapPreferences.textWrapOffset = [p.spaceBefore,0,sText.paragraphs[-1].spaceAfter+sText.paragraphs.nextItem(p).spaceBefore,0];
sText.move(LocationOptions.atBeginning, nFrame.insertionPoints.item(0));
//restore users measurement preferences
app.documents[0].viewPreferences.rulerOrigin = uRuler;
nFrame.insertionPoints.item(0).paragraphs[0].justification = uJustification;
}


herzliche Grüße,
Stephan


als Antwort auf: [#317326]
(Dieser Beitrag wurde von Stephan_M am 15. Mär 2018, 15:05 geändert)

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

1. Mai 2018, 20:44
Beitrag # 12 von 13
Beitrag ID: #563676
Bewertung:
(440 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry, hier ist noch ein kleiner Bugfix...

Code
// SelectedTextToNewFrames.jsx 
#target indesign

// Script expects selected text. It will put the selected text into its own textframe at the same location, the same width of the column and height of the selected text.
// It's a shortcut for the tedious CTRL-dragging of text out to a new framne, or cutting&pasting it out .... for instance if you simply want to move a headline into its own textframe.
// lastEdit 15.03.2018, Stephan Möbius, to make it work with column spanning paragaphs and right- or center-aligned text.

if (app.documents.length > 0 && app.selection.length == 1 && app.selection[0].hasOwnProperty("baseline") && app.selection[0].characters.length > 0) {
var sT = "selectedTextToNewFrame(app.selection[0])";
app.doScript(sT, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT, "Text to new frame");
}

function selectedTextToNewFrame(sText) {
var uRuler = app.documents[0].viewPreferences.rulerOrigin;
app.documents[0].viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN;
var p = sText.paragraphs[0];
var tf = sText.parentTextFrames[0];
var colType = p.spanColumnType;
var spanColCount = p.spanSplitColumnCount;
spanColCount = (colType != SpanColumnTypeOptions.SPAN_COLUMNS) ? 1 : (spanColCount == SpanColumnCountOptions.ALL ? tf.textFramePreferences.textColumnCount : Math.min(tf.textFramePreferences.textColumnCount,spanColCount));
var uJustification = p.justification;
p.justification = Justification.LEFT_ALIGN;
hProps = [
p.horizontalOffset - p.leftIndent - sText.paragraphs[0].firstLineIndent,
tf.textFramePreferences.textColumnFixedWidth * spanColCount + ((spanColCount-1) * tf.textFramePreferences.textColumnGutter)
];
nFrame = sText.parentTextFrames[0].parent.textFrames.add();
nFrame.geometricBounds = [sText.lines[-1].baseline, hProps[0], sText.lines[0].baseline - sText.lines[0].ascent, hProps[0] + hProps[1]];
nFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.ascentOffset;
nFrame.textWrapPreferences.textWrapMode = TextWrapModes.BOUNDING_BOX_TEXT_WRAP;
nFrame.textWrapPreferences.textWrapOffset = [(p.spaceBefore || 0), 0, ((p!= p.parentStory.paragraphs.lastItem())?(sText.paragraphs[-1].spaceAfter+sText.paragraphs.nextItem(p).spaceBefore):0), 0];
sText.move(LocationOptions.atBeginning, nFrame.insertionPoints.item(0));
//restore users measurement preferences
app.documents[0].viewPreferences.rulerOrigin = uRuler;
nFrame.insertionPoints.item(0).paragraphs[0].justification = uJustification;
}



als Antwort auf: [#562844]

Suche Script: Mache Textframe aus selektiertem Text

Stephan_M
Beiträge gesamt: 464

2. Mai 2018, 10:13
Beitrag # 13 von 13
Beitrag ID: #563689
Bewertung:
(411 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Querlink zu einer Quick&Dirty Variante des Skripts, welches nicht die Selektierten Paragraphen in _einen_ Rahmen setzt, sondern mit jedem Paragrafen einen eigenen Textrahmen erzeugt ...

--> https://www.hilfdirselbst.ch/...i?post=563675#563675


als Antwort auf: [#563676]
Hier Klicken X

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
18.10.2018

Online
Donnerstag, 18. Okt. 2018, 20.00 - 21.00 Uhr

Webinar

Den Start ins E-Commerce leicht gemacht

Ja

Organisator: Eric Mächler

Kontaktinformation: E-Mailinfo AT ericmaechler DOT com

https://events.genndi.com/register/818182175026318367/66670f3c07

Veranstaltungen
19.10.2018

München
Freitag, 19. Okt. 2018, 10.36 Uhr

Seminar

Wer digitale Dokumente für PC, Tablet oder Handys erstellen will, der muss umdenken. Die alten Arbeitsweisen und Regeln, die bei Printprodukten die Standards gesetzt haben, die gelten hier nicht mehr. Um nur einige Stichpunkte zu nennen: RGB statt CMYK, 16 zu 9 statt DIN A4, einseitig statt doppelseitig, scrollen und tippen statt umblättern. Dazu kommt die Interaktivität, die das PDF bietet: Automatisch zoomen und verlinken, Seitensprünge, Sound- und Videoeinbettung, Einbettung von 3D-Objekten, Schaltflächen und Formulare, Kommentare.

München, Freitag, 19.10.2018, Teilnahmegebühr 534,31 Euro (incl 19% MwSt), 9.30 bis 17.30 Uhr

Ja

Organisator: Cleverprinting

https://www.cleverprinting.de/pdf-first/

PDF first – Digitale Dokumente für PC, Tablet, mobile Endgeräte
Hier Klicken