Я использую Windows 10 и InDesign CS6. Я хотел бы взять 2 файла, смешать содержимое построчно и вывести в третий файл, чтобы сделать электронную книгу, как показано ниже.
ВХОДНОЙ ФАЙЛ 1 (например, TXT, XML, SQL и т. д.)
[Этот файл уже находится в построчном формате — каждая строка разграничена символом возврата.]
линия 1
строка 2
строка 3
и т. д.
ВХОДНОЙ ФАЙЛ 2 (INDD)
[Этот файл имеет форму плавного текста, и каждая строка должна быть разграничена, например, 1 строка = каждая текстовая строка, начинающаяся с заглавной буквы и заканчивающаяся «точкой + пробел».]
строка А [сноска 1]
строка B [сноска 2]
строка C [сноска 3]
и т. д.
ВЫХОДНОЙ ФАЙЛ 3 (например, EPUB, HTML, XML и т. д.)
линия 1
строка А [сноска 1]
строка 2
строка B [сноска 2]
строка 3
строка C [сноска 3]
и т. д.
Я нашел несколько соответствующих дискуссий здесь и здесь (суть в том, что в системах *nix есть функция вставки, в Excel есть функция гармошки, и был предложен метод в командной строке DOS и некоторые другие методы сценариев). Боюсь, эти обсуждения для меня немного загадочны и не помогают полностью в моей ситуации. Я разбираюсь в компьютерах, но у меня нет опыта программирования, поэтому я ищу здесь помощь, чтобы показать мне путь и начать работу.
Буду признателен за любые предложения относительно практического рабочего процесса (его не нужно полностью автоматизировать). Я также хотел бы выяснить, был ли Входной файл 1, скажем, файлом DOC или INDD с плавным текстом без разграничения. Было бы неплохо иметь некоторую гибкость в рабочем процессе.
Да, немного жаль, что навыки компьютерной грамотности людей в целом так же низки, как и у вас. Но это нормально я полагаю. Я бы сделал это с помощью своего текстового редактора или sed , но это только я. Предложенный ответ весьма однозначен. Но давайте сделаем это в inDesign.
Запустите ExtendScript Toolkit (если у вас установлено какое-либо программное обеспечение Adobe, оно будет установлено).
вставьте в документ следующее:
#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;
}
Нажмите стрелку с надписью «начать работу ...», чтобы выполнить
Вот и все, что нужно для слияния строк. Вы можете легко пойти намного дальше, но это совсем другое. Да, сегодня действительно нет необходимости иметь одного человека в конвейере публикации.
На что следует обратить внимание, АБСОЛЮТНО должно быть соответствие между строками 1: 1, иначе это не удастся. Также не используйте этот скрипт ни в какой другой среде, кроме нового документа, состоящего всего из 2 фреймов.
Касьян Сервецкий любезно предложил мне использовать метод перемещения, и вот результат, который работает нормально...
#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]);
}
Итак, ответ на исходный вопрос заключается в том, чтобы подготовить текст INPUT FILE 1 и INPUT FILE 2 в InDesign (два отдельных текстовых фрейма на одной странице), а затем запустить приведенный выше сценарий.
Куртка Janus Bahs
Куртка Janus Bahs
джуджа
Куртка Janus Bahs
джуджа
Куртка Janus Bahs
джуджа
Объявление Астм
Объявление Астм