[GastForen Programme Print/Bildbearbeitung Adobe InDesign Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

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

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Uncle Tsebe
Beiträge gesamt: 205

2. Okt 2015, 12:06
Beitrag # 1 von 7
Bewertung:
(2680 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich stehe gerade vor einem kleinen Problem:

Ich habe hier gefühlte 300 ID-Dokumente mit teils unterschiedlichen Absatzformaten (pro Dokument zwischen 10 und 40 Formaten).

Jetzt sollte ich eine Liste aller vorhandenen Absatzformate haben.
Ich wollte das erst über die Buchfunktion machen. Aber da kann ich ja nur ein Master-Dokument auf andere Dokumente verteilen.
Für meinen Fall müsste das aber genau andersrum laufen.

Habt Ihr eine Idee/einen Tipp, wie ich alle Absatzformate in ein Dokument bekomme? Die dürfen auch ruhig überschrieben werden.
Es geht am Ende nur darum eine Liste mit allen vorhandenen Absatzformaten (Benamung) zu bekommen.

Danke schon mal.

Gruß,
Tom
X

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Be.eM
Beiträge gesamt: 3349

2. Okt 2015, 14:01
Beitrag # 2 von 7
Beitrag ID: #543265
Bewertung:
(2648 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tom,

das geht schon, Martin Fischer hat mir mal ein nützliches Skript hierzu geschrieben. Guck mal in diesen Thread:

http://www.hilfdirselbst.ch/..._P399416.html#399416

Schöne Grüße,
Bernd


als Antwort auf: [#543244]

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Kai Rübsamen
  
Beiträge gesamt: 4684

2. Okt 2015, 14:19
Beitrag # 3 von 7
Beitrag ID: #543267
Bewertung:
(2637 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tom,

ich habe – bevor ich wusste, dass es bereits eins gibt – auch eins geschrieben:

Es braucht hierfür kein Buch, sondern es werden alle Dokumente eines Ordners durchsucht. Duplikate werden gefiltert. Es gibt zunächst nur eine Meldung auf dem Bildschirm, weil mir nicht klar war, ob du ein neues Dokument, Textddatei oder sonstiges haben möchtest.

Bei mir werden nur die Absatzformate ausgegeben. Aber viell. bringt dich ja Martins Variante schon ans Ziel.

Code
// den Ordner wählen 
var theFolder = Folder.selectDialog("Welcher Ordner");
// alle InDesign-Files im Ordner sammeln
var theFiles = theFolder.getFiles("*.indd");

// vorsichtshalber die Dialoge ausschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;

// die Liste der Formatnamen vorbereiten
var styleList = [];

// Öffnen, Infos sammeln, u. schließen
for (var n = 0; n < theFiles.length; n++) {
var curDoc = app.open(theFiles[n]);
var paraStyles = curDoc.allParagraphStyles;
for (var i = 0; i < paraStyles.length; i++) {
var curParaStyle = paraStyles[i];
var okay = checkDupl(curParaStyle.name);
if (okay == false) {
styleList.push(curParaStyle.name);
}
}
curDoc.close();
}

alert(styleList.join("\r"));

// die Dialoge wieder einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// prüft, ob der aktuelle Formatname schon in der Liste vorhanden ist
function checkDupl(x) {
var okay = false;
for (var c = 0; c < styleList.length; c++) {
// der Name des aktuellen Formats wird mit dem aus der Liste verglichen
if (styleList[c] == x) {
okay = true;
break;
}
}
return okay;
}



als Antwort auf: [#543265]

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Uncle Tsebe
Beiträge gesamt: 205

2. Okt 2015, 14:34
Beitrag # 4 von 7
Beitrag ID: #543268
Bewertung:
(2615 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bernd,

danke für den Hinweis.
Hat leider nicht ganz funktioniert.
Das Script bricht irgendwann ab mit der Fehlermeldung "Objekt Referenz..."

Gruß,
Tom


als Antwort auf: [#543265]

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Uncle Tsebe
Beiträge gesamt: 205

2. Okt 2015, 14:36
Beitrag # 5 von 7
Beitrag ID: #543269
Bewertung:
(2613 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

1000 Dank. Das funktioniert soweit ja schon so wie ich mir das gedacht hatte.
Allerdings wäre die Ausgabe in ein neues Dokument die Krönung. Oder auch in eine Textdatei.

Die Meldung mit den Formaten auf dem Schirm ist leider zu lang ;-)

Danke und Gruß,
Tom


als Antwort auf: [#543267]

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Kai Rübsamen
  
Beiträge gesamt: 4684

2. Okt 2015, 14:47
Beitrag # 6 von 7
Beitrag ID: #543271
Bewertung:
(2603 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tom,

versuch mal das: Jetzt wird [Kein Absatzformat] und [Einf. Absatz] gelöscht, die Liste wird alphabetisch sortiert, es wird ein neues Dokument erzeugt und Formatnamen reingeschrieben.

Code
// den Ordner wählen 
var theFolder = Folder.selectDialog("Welcher Ordner");
// alle InDesign-Files im Ordner sammeln
var theFiles = theFolder.getFiles("*.indd");

// vorsichtshalber die Dialoge ausschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;

// die Liste der Formatnamen vorbereiten
var styleList = [];

// Öffnen, Infos sammeln, u. schließen
for (var n = 0; n < theFiles.length; n++) {
var curDoc = app.open(theFiles[n]);
var paraStyles = curDoc.allParagraphStyles;
for (var i = 0; i < paraStyles.length; i++) {
var curParaStyle = paraStyles[i];
var check = checkDupl(curParaStyle.name);
if (check == false) {
styleList.push(curParaStyle.name);
}
}
curDoc.close();
}

// [Kein Absatzformat] löschen
styleList.shift();
// [Einf.-Absatz] löschen
styleList.shift();
// die Liste sortieren
styleList.sort (case_insensitive);

// ein neues Dokument u. Textrahmen erzeugen und mit den Namen aus der Liste füllen
var doc = app.documents.add();
var curPage = doc.pages[0];
var tf = curPage.textFrames.add({
geometricBounds: getBounds(doc, curPage), contents: styleList.join("\r")});

// die Dialoge wieder einschalten
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// prüft, ob der aktuelle Formatname schon in der Liste vorhanden ist
function checkDupl(x) {
var okay = false;
for (var c = 0; c < styleList.length; c++) {
// der Name des aktuellen Formats wird mit dem aus der Liste verglichen
if (styleList[c] == x) {
okay = true;
break;
}
}
return okay;
}

// sortiert die Liste
function case_insensitive (a, b) {
return a.toLowerCase() > b.toLowerCase();
}

// Infos vom Satzspiegel sammeln
function getBounds(curDoc, curPage) {
var pW = curDoc.documentPreferences.pageWidth;
var pH = curDoc.documentPreferences.pageHeight;

var y1, y2, x1, x2;

if (curPage.side == PageSideOptions.leftHand) {
x2 = curPage.marginPreferences.left;
x1 = curPage.marginPreferences.right;
}
else {
x1 = curPage.marginPreferences.left;
x2 = curPage.marginPreferences.right;
}

y1 = curPage.marginPreferences.top;
x2 = pW - x2;
y2 = pH - curPage.marginPreferences.bottom;
return [ y1, x1, y2, x2 ];
}



als Antwort auf: [#543269]
(Dieser Beitrag wurde von Kai Rübsamen am 2. Okt 2015, 14:51 geändert)

Absatzformate aus mehreren InDesign-Dokumenten in ein einziges

Uncle Tsebe
Beiträge gesamt: 205

2. Okt 2015, 16:03
Beitrag # 7 von 7
Beitrag ID: #543276
Bewertung:
(2515 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

Hallelujah, das ist ein Ding :-)

Funktioniert!
Merci!

Wieder mal Danke für deine/eure Hilfe.


Gruß,
Tom


als Antwort auf: [#543271]
X