[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

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

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

[email protected]
Beiträge gesamt: 5

27. Jan 2021, 13:27
Beitrag # 1 von 8
Bewertung:
(3359 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich möchte eine Aufgabe, die mehrfach im Monat gemacht werden muss, automatisieren.

Ich kann grundlegend JavaScript und verstehe Code wenn ihn sehe. Ich tue mich nur schwer mit den Möglichkeiten und den Objekten in InDesign. Ich habe mir schon viele JavaScripte-Scripte mit Hilfe dieses Forums hier gebaut, aber nun stehe ich auf dem Schlauch.

Programm: InDesign CC 2021 16.01 x64 + EasyCatalog
OS: Windows 10
Sprache: JavaScript

Was soll gemacht werden:
Ich habe eine InDesign Datei in der viele einzelne Kurzgeschichten in EINEM Textenrahmen für ein Buch fertig umbrochen gesetzt sind.
Nun sollen diese Kurzgeschichten nachträglich in einzelne InDesign Dateien ausgegliedert werden.

Es gibt ein eindeutiges Absatzformat mit dem Namen "ueberschrift" (siehe Bild).
https://www.blue-panther-books.de/img/bild.jpg
Diese Kurzgeschichten beginnen immer auf der ungeraden Seite (in "ueberschrift" definiert).

Beispiel:
E:\buch\2590_gesamtdatei.indd

Es gibt einen Ordner mit InDesign Dateien für die späteren Einzelgeschichten der abhängig von dem Dateipfad wo die aktuelle Datei liegt zu referenzieren ist.
Diese Dateien soll selbst NICHT genutzt werden, es sind nur Dummys (aus meiner Datenbank erzeugt) damit aus dem JavaScript heraus der ein echter Name anhand der Endung "*_xx.indd" pro laufender Geschichte genutzt werden kann und die Nummer vorn im Datei Namen mit meiner Datenbank matched.

Beispiel:
E:\buch\2590_gesamtdatei.indd
E:\buch\einzel\3809_geschichte_01.indd
E:\buch\einzel\3810_geschichte_02.indd
E:\buch\einzel\3910_geschichte_03.indd

Meine Idee ist:
Das Script sucht nach der Anzahl der Überschriften mit dem Absatzformat "ueberschrift" und identifiziert so die einzelnen Geschichten.
Dann geht es in eine Schleife die folgendes macht:
Es geht in den Textrahmen und löscht den Text der nicht braucht wird, danach löscht es alle leeren Seiten dann sucht es sich den Namen der entsprechenden Einzelgeschichten Datei abhängig von der Endung "*_01.indd" heraus und "speichert die Datei unter".
Dann zwei Undos und es wird mit der zweiten Geschichte weiter gemacht.
Und so weiter ...
Dieses Vorgehen hätte den Vorteil, dass innerhalb des Textrahmens alle manuell für den Seitensatz geänderten Inhalte bleiben.

Wer kann mir da helfen?
Lg Matthias
X

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

Uwe Laubender
Beiträge gesamt: 4870

28. Jan 2021, 12:32
Beitrag # 2 von 8
Beitrag ID: #578498
Bewertung:
(3237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Matthias,

hast Du das Aufteilen einer InDesign-Datei in mehrere Dateien mal mit einem Skript von Hans Häsler probiert?

DokumentAufsplitten_516d.js

Da gibt's u.a. folgende Option:

Das Trennkriterium wählen:
(x) Absatzformat (Kapitelanfang)

Das Skript findest Du hier bei HDS gehostet in dieser Liste:

https://www.hilfdirselbst.org/...mp;limit=&page=0
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#578473]

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

[email protected]
Beiträge gesamt: 5

28. Jan 2021, 12:40
Beitrag # 3 von 8
Beitrag ID: #578499
Bewertung:
(3226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für den Hinweis! Ich probiere das gleich mal aus!


als Antwort auf: [#578498]

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

[email protected]
Beiträge gesamt: 5

28. Jan 2021, 13:31
Beitrag # 4 von 8
Beitrag ID: #578502
Bewertung:
(3196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Leider funktioniert das nicht. Es scheint für ein Rahmenintensives Layout gebaut zu sein. Und nicht für EIN Rahmen mit 20 verschiedenen Aufsplittungen.
Ich bekomme einfach nur zwei Dokumente und die helfen mir nicht weiter.
Aber trotzdem danke für den Hinweis.


als Antwort auf: [#578498]

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

[email protected]
Beiträge gesamt: 5

28. Jan 2021, 14:45
Beitrag # 5 von 8
Beitrag ID: #578507
Bewertung:
(3166 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die Ideen.
Ich habe hier im Forum noch etwas rum gesucht und nun eine erste Version gebaut, mit der ich eine Geschichte selektieren und löschen kann.
Auf diesem Grundgerüst werde ich also meine Hauptdatei x-mal kopieren und dann eine Datei nach der anderen öffnen und die anderen Geschichten rauslöschen.

Hier der Startcode mit dem ich den Rest weiterbauen werde:

Code
// Ideen von: 
// https://www.hilfdirselbst.ch/foren/Absatz_mit_bestimmtem_Absatzformat_suchen__markieren_und_ausschneiden_P462762.html

// Grep zurücksetzen
app.findGrepPreferences = null;

// Setzen der Sucheinstellungen = Suche nach Überschriften
app.findGrepPreferences.appliedParagraphStyle = app.documents.firstItem().paragraphStyles.itemByName( 'ueberschrift' );

// Suchen und Ergebnisse in Variable speichern
var result = app.documents.firstItem().findGrep();

// anzahl der Überschriften = Kurzgeschichten herausfinden und anzeigen
var anzahl = result.length;
alert (anzahl);

// Mit dem Ergebnis was machen
//for (var i = result.length-1; i >= 0; i--)
// result[i].move( LocationOptions.AFTER, result[i].parentStory.insertionPoints.lastItem() );

if (result.length > 0)
{
// Erste Geschichte raussuchen
var a_text = result[0].parentStory.characters.itemByRange(result[0].characters.firstItem().index, result[1].characters.firstItem().index -1);

// text löschen
a_text.remove();
}

// Zurücksetzen der Sucheinstellungen
app.findGrepPreferences = null;



als Antwort auf: [#578473]

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

WernerPerplies
Beiträge gesamt: 2572

28. Jan 2021, 18:23
Beitrag # 6 von 8
Beitrag ID: #578519
Bewertung:
(3085 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Matthias,

mein Vorschlag zum Aufteilen des Textes in einem Rahmen.
Hier werden alle Geschichten nacheinander selektiert und können kopiert werden.


Code
// Voraussetzung: Rahmen selektiert 
main();

/*Void*/function main(){
try
{
var /*TextFrame*/ tF = app.selection[0],
/*Story*/story = tF.parentStory,
/*Array*/paragraphs = tF.parentStory.paragraphs.everyItem().getElements(),
/*ParagraphStyle*/titleStyle = app.activeDocument.paragraphStyles.itemByName("Überschrift"),
/*Int*/numberOfParagraphs = paragraphs.length,
/*Int*/counter = -1,
/*Paragraph*/p = null;

if (typeof(tF) === "undefined")
return; // no frame selected!

nextStory:
for (var i = 0; i < numberOfParagraphs; i++){
p = paragraphs[i];
if (p. appliedParagraphStyle.id === titleStyle.id){
paragraphs[(++counter)] = {title: p, text: []}; // reuse Array with new content
for (++i; i < numberOfParagraphs; i++){
p = paragraphs[i];
if (p. appliedParagraphStyle.id === titleStyle.id){
--i; // decrement pointer
continue nextStory; // loop from next title
}
paragraphs[counter].text.push(paragraphs[i]);
}
}
}
// resize Array
paragraphs.length = ++counter;
// handle every shortStory
for (var i = 0; i < counter; i++){
paragraphs[i].title.select();
for (var ii = 0; ii < paragraphs[i].text.length; ii++){
paragraphs[i].text[ii].select(SelectionOptions.ADD_TO);
}
// here is one short story selected.
$.bp(true);
// move selection to new file
}
}
catch (error) // Verarbeitung einer Sammlung von InDesign-Dateien
{
// wpsHandleError(error, $.stack, "findGrepWithAppliedStyle");
alert(error.message + "\n" + error.line.toString());
}
return null
}


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 16.12.2020, Version 3.XX, neue Funktionen
Kundenstimmen


als Antwort auf: [#578507]
(Dieser Beitrag wurde von WernerPerplies am 28. Jan 2021, 18:30 geändert)

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

[email protected]
Beiträge gesamt: 5

3. Feb 2021, 08:06
Beitrag # 7 von 8
Beitrag ID: #578575
Bewertung:
(2352 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
vielen Dank ich werde das in den nächsten Tagen prüfen und berichten!


als Antwort auf: [#578519]

InDesign Datei mit Kurzgeschichten in einem Rahmen auf mehrere Dateien aufteilen

WernerPerplies
Beiträge gesamt: 2572

3. Feb 2021, 08:23
Beitrag # 8 von 8
Beitrag ID: #578576
Bewertung:
(2341 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok,
ich dachte schon, die Sache hätte sich erledigt.

Hier noch eine etwas einfachere Version - Verzicht auf die innere Schleife im zweiten Teil:
Code
// Voraussetzung: Rahmen selektiert 
main();

/*Void*/function main(){
try
{
var /*TextFrame*/ tF = app.selection[0],
/*Story*/story = tF.parentStory,
/*Array*/paragraphs = tF.parentStory.paragraphs.everyItem().getElements(),
/*ParagraphStyle*/titleStyle = app.activeDocument.paragraphStyles.itemByName("Überschrift"),
/*Int*/numberOfParagraphs = paragraphs.length,
/*Int*/counter = -1,
/*Paragraph*/p = null;

if (typeof(tF) === "undefined")
return; // no frame selected!

nextStory:
for (var i = 0; i < numberOfParagraphs; i++){
p = paragraphs[i];
if (p. appliedParagraphStyle.id === titleStyle.id){
paragraphs[(++counter)] = {title: p, text: []}; // reuse Array with new content
for (++i; i < numberOfParagraphs; i++){
p = paragraphs[i];
if (p. appliedParagraphStyle.id === titleStyle.id){
--i; // decrement pointer
continue nextStory; // loop from next title
}
paragraphs[counter].text.push(paragraphs[i]);
}
}
}
// resize Array
paragraphs.length = ++counter;
// handle every shortStory
for (var i = 0; i < counter; i++){
paragraphs[i].title.select();
paragraphs[i].text[paragraphs[i].text.length-1].select(SelectionOptions.ADD_TO);
// here is one short story selected.
$.bp(true); // Breakpoint, hold after selecting each shortStory
// move selection to new file
}
}
catch (error) // Verarbeitung einer Sammlung von InDesign-Dateien
{
alert(error.message + "\n" + error.line.toString());
}
return null
}


Grundsätzlich könnte man naürlich auch noch den ersten und zweiten Teil des Skriptes zusammenfassen, darauf habe ich bewusst verzichtet, weil mir die Sache so übersichtlicher erscheint.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 16.12.2020, Version 3.XX, neue Funktionen
Kundenstimmen


als Antwort auf: [#578575]
X

Aktuell

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
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
01.03.2021 - 05.03.2021

Persönlichkeitsentwicklung

Online
Montag, 01. März 2021, 00.17 Uhr - Freitag, 05. März 2021, 00.18 Uhr

Webinar

Personal Power Coaching - Um was geht es? ​ Potenzialentfaltung: Potenzial entdecken und entfalten Talente entdecken: Deine Talente und Fähigkeiten erkennen und loslegen Gewohnheiten: schlechte Gewohnheiten durch Positive ersetzen Selbstbewusstsein stärken: Dein Bewusstsein stärken Eigendynamik entwickeln: Mehr Erfolg durch Eigenverantwortung & Disziplin Ängste kontrollieren: Ängste als Antrieb nutzen Entscheidungen treffen: Mit mehr Mut an die Sache ran! Lebensenergie steigern: Deine Lebensenergie steigern und aufrechterhalten Ziele erreichen: Ziele setzen und übertreffen! Motivationssteigerung: Mehr Erfolg durch Selbstmotivation Selbstvertrauen: Selbstvertrauen auf- und ausbauen

Details:
https://www.snfa.ch/swiss-personal-power-birolisik

Ja

Organisator: Birol Isik

Kontaktinformation: Birol Isik, E-Mailinfo AT snfa DOT ch

https://www.snfa.ch/swiss-personal-power-birolisik

Neuste Foreneinträge


Serien-Dateinamenänderung (mit Automator?) "nur die ersten 7 Schreibstellen"

Barrierefreies PDF> keine klickbaren Fußnoten im PDF (Tagbaum)

Arbeitsfarbraum ändert sich bei neu angelegten Dokumenten von selbst

Adobe Acrobat DC Namen für Speicherung vorgeben

Update Problem

PSD CS6 (!) Mac: Dialog "Dateiinformationen" Fenster leer und Sackgasse

Illustrator Datei aktualisieren

Schwarz überdruckt nicht

Schwarz überdruckt nicht

CC 2020: Problem mit Textumfluss mit verankerten Objekten
medienjobs