Ich verwende Windows 10 und InDesign CS6. Ich möchte 2 Dateien nehmen, den Inhalt Zeile für Zeile mischen und wie folgt in eine dritte Datei ausgeben, um ein E-Book zu erstellen.
INPUT FILE 1 (z. B. TXT, XML, SQL usw.)
[Diese Datei ist bereits zeilenweise formatiert – jede Zeile ist durch einen Zeilenumbruch gekennzeichnet.]
Linie 1
Zeile 2
Zeile 3
usw.
EINGABEDATEI 2 (INDD)
[Diese Datei hat die Form von Fließtext und jede Zeile muss abgegrenzt werden, z. B. 1 Zeile = jede Textzeichenfolge, die mit einem Großbuchstaben beginnt und mit "Punkt + Leerzeichen" endet.]
Zeile A [Fußnote 1]
Zeile B [Fußnote 2]
Zeile C [Fußnote 3]
usw.
AUSGABEDATEI 3 (z. B. EPUB, HTML, XML usw.)
Linie 1
Zeile A [Fußnote 1]
Zeile 2
Zeile B [Fußnote 2]
Zeile 3
Zeile C [Fußnote 3]
usw.
Ich habe hier und hier einige relevante Diskussionen gefunden (das Wesentliche ist, dass * nix-Systeme eine Einfügefunktion haben, Excel eine Konzertina-Funktion hat und eine Methode in der DOS-Eingabeaufforderung und einige andere Skriptmethoden vorgeschlagen wurden). Ich fürchte, diese Diskussionen sind für mich etwas kryptisch und helfen meiner Situation nicht vollständig. Ich bin Computerkundig, habe aber keine Programmiererfahrung, also suche ich hier nach Hilfe, um mir den Weg zu zeigen und loszulegen.
Alle Vorschläge für einen halbwegs praktischen Arbeitsablauf wären willkommen (es muss nicht vollständig automatisiert sein). Ich möchte auch untersuchen, ob Eingabedatei 1 beispielsweise eine DOC- oder eine INDD-Datei mit fließendem, nicht abgegrenztem Text war. Es wäre schön, etwas Flexibilität im Workflow zu haben.
Ja, es ist ein bisschen bedauerlich, dass die Computerkenntnisse der Leute im Allgemeinen so gering sind wie Ihre. Aber das ist normal denke ich. Ich würde es mit meinem Texteditor oder sed machen , aber das bin nur ich. Die vorgetragene Antwort ist recht einfach. Aber machen wir das in InDesign.
Starten Sie das ExtendScript Toolkit (wenn Sie eine Adobe-Software installiert haben, wird diese installiert).
Folgendes in das Dokument einfügen:
#target indesign
var doc = app.activeDocument;
var text1 = doc.pages[0].textFrames[1].parentStory;
var text2 = doc.pages[0].textFrames[0].parentStory;
for(var p = text2.paragraphs.length-1; p >= 0 ; p--){
text1.paragraphs[p].contents += text2.paragraphs[p].contents;
}
Klicken Sie zum Ausführen auf den Pfeil mit der Aufschrift „start running…“.
Das ist ungefähr alles, was es zum Zusammenführen der Linien gibt. Man kann leicht viel weiter gehen, aber das ist eine ganz andere Sache. Ja, es besteht heute wirklich keine Notwendigkeit, einen einzigen Menschen in einer Veröffentlichungspipeline zu haben.
Zu beachten ist dabei UNBEDINGT eine 1:1-Übereinstimmung zwischen den Zeilen, sonst schlägt dies fehl. Verwenden Sie dieses Skript auch in keiner anderen Umgebung, außer in einem neuen Dokument mit nur 2 Frames.
Kasyan Servetsky hat freundlicherweise vorgeschlagen, dass ich die Move-Methode verwende, und hier ist das Ergebnis, das gut zu funktionieren scheint ...
#target indesign
var doc = app.activeDocument;
var text1 = doc.pages[0].textFrames[1].parentStory;
var text2 = doc.pages[0].textFrames[0].parentStory;
for(var p = text2.paragraphs.length-1; p >= 0 ; p--){
text2.paragraphs[p].move(LocationOptions.AFTER, text1.paragraphs[p]);
}
Die Antwort auf die ursprüngliche Frage besteht also darin, den Text von INPUT FILE 1 und INPUT FILE 2 in InDesign vorzubereiten (zwei separate Textrahmen auf einer Seite) und dann das obige Skript auszuführen.
Janus Bahs Jacquet
Janus Bahs Jacquet
joojaa
Janus Bahs Jacquet
joojaa
Janus Bahs Jacquet
joojaa
Ad Astm
Ad Astm