Gibt es eine Möglichkeit, eine Geschichte zu unterbrechen, indem man einen Textrahmen auswählt und ihn in zwei Teile teilt? Es gibt zwei Skripte, die sie aufgerufen haben und wie folgt vorgehen:
BreakFrame (wird von der Anwendung geliefert und ist im Beispiel enthalten): Diese Skriptaufgabe besteht darin, einen ausgewählten Textrahmen aus einer Reihe von verketteten Rahmen (die eine Geschichte haben) aufzubrechen und zu zerlegen.
SplitStory (wird von der Anwendung mitgeliefert und ist im Beispiel enthalten): Diese Skriptaufgabe besteht darin, eine Reihe von verketteten Textrahmen in einzelne Rahmen aufzuteilen.
Es gibt auch ein sehr nützliches Plugin namens TextStitch , das kostenlos ist, aber es muss unter einem anderen Plugin ausgeführt werden, das APID ToolAssistant heißt , und es ist nicht kostenlos !
Gibt es ein kostenloses Skript, oder kann jemand ein neues schreiben (mit Optionen für eine Unterbrechung davor oder danach könnte es noch größer sein), um dieses Bild ähnlich zu machen?
Dank des vom Benutzer "SZCZERZO KŁY" eingeführten "Dave saunders"-Skripts sieht es gut aus, aber für diejenigen, die glauben, dass das Skript nicht mehr funktioniert, läuft es für mich bis CC 2015 weiterhin perfekt, indem es in eine "Version 4.0 Scripts " (Groß-/Kleinschreibung beachten, aber ohne Anführungszeichen) Unterordner des Ordners "Scripts Panel".
//DESCRIPTION: Splits story at the selected text frame.
// The selected frame becomes the first of the new story.
// Note that the behavior when an overset last frame is selected
// is different from that of the break-out text frame script.
// This script moves the overset text to the second story while
// breaking out the last frame leaves the overset text attached to the first story.
if ((app.documents.length != 0) && (app.selection.length != 0)) {
var myFrame = app.selection[0];
if (myFrame.constructor.name != "TextFrame") {
errorExit('Please select a text frame');
}
var myStory = myFrame.parentStory;
var mySplit = myFrame.textFrameIndex;
var myTot = myStory.textFrames.length;
// Because of the possibility of tables, we must always work from the back
var myStart = myTot - 1;
var myEnd = mySplit;
// Nothing to do if user has selected first frame.
if (myEnd != 0) {
if (myStart > myEnd) {
var myPrevFrame = splitMe(myStory.textFrames[myStart]);
myStart--;
for (var i = myStart; i> myEnd; i--) {
var myNewFrame = splitMe(myStory.textFrames[i]);
myPrevFrame.previousTextFrame = myNewFrame;
myPrevFrame = myNewFrame;
}
}
// Now we deal with the last frame
myFrame = myStory.textFrames[myEnd]
try {
myIndex = myFrame.characters[0].index;
stEnd = myStory.length - 1;
myText = myStory.texts[0].characters.itemByRange(myIndex,stEnd);
} catch (e) { } // Ignore; happens if last character is a table or frames are empty.
myNewFrame = myFrame.duplicate();
try{myText.remove();}catch(e){} //ignore empty frame
myFrame.remove();
try{myPrevFrame.previousTextFrame = myNewFrame;}catch(e){} //fails if one frame only
//Finally, if, and only if, the split is mid-table, myStory is now overset
if (myStory.textFrames[-1].overflows) {
myTable = myStory.characters[-1].tables[0];
myNewTable = myNewFrame.parentStory.characters[0].tables[0];
myRowCount = myNewTable.rows.length;
myTable.rows.itemByRange(0 - myRowCount,-1).remove();
}
}
} else {
errorExit();
}
// +++++++ Functions Start Here +++++++++++++++++++++++
function splitMe(myFrame) {
myDupeFrame = myFrame.duplicate();
while(myDupeFrame.contents.length > 0) {
myDupeFrame.texts[0].remove();
}
myFrame.remove();
return myDupeFrame;
}
function errorExit(message) {
if (arguments.length > 0) {
if (app.version != 3) { beep() } // CS2 includes beep() function.
alert(message);
}
exit(); // CS exits with a beep; CS2 exits silently.
}
// +++++++ Script Ends Here ++++++++++++++++++++++++++
Janus Bahs Jacquet
joojaa
Janus Bahs Jacquet
joojaa
Janus Bahs Jacquet
Roozbeh E
SZCZERZO KŁY
SZCZERZO KŁY
Roozbeh E