[ID CC-CC2022] Есть ли мысли про глобальную предразметку текста?

Для Go есть такая библиотека gooxml · Baliance. То есть по идее можно считать DOCX, распарсить и преобразовать в некий другой формат, тот же Tagged Text.
Есть библиотека и для Python — python-docx. Как бы тоже самое можно замутить.
Минусы библиотеки gooxml — лицензирование для коммерческого использования.
Плюсы — не нужны никакие дополнительные установки вроде Python-а и зависимостей, после написания утилиты будет один-единственный исполняемый файл (можно на компилить и для виндоса, и для мака, и для линакса, скажем, чтобы на серваке крутилось).
Минусы библиотеки python-docx — нужно иметь Python и тянуть к себе саму библиотеку.
Плюсы — либеральная лицензия OSI Approved :: MIT License.
Для себя бы я делал на Go, ибо быстро и можно сделать многопоточным, чтобы перемалывать толпу файлов.
 
116636


Указание операционной системы нужно, потому что UNICODE для Tagged Text должен быть либо UNICODE-WIN, либо UNICODE-MAC. И конец новой строки в Windows должен быть \r\n (в макоси, надеюсь, \n). Можно не указывать, если конвертация делается для индизайна той же ОСи.
Перелопачивает все DOCX-и и складывает TXT в указанную папку (не указано, значит, складывает рядом с DOCX).

Пока это прямо пре-пре-пре-альфа. Например, не обрабатывает таблицы да и всякие там сноски тоже. Может, и вовсе в это фазе замрет :)
 
Зачем питон и go? Там формат элементарный - куча xml в архиве, распарсить самому проще, чем с этой экзотикой разбираться.
 
Эх, мне бы кто нибудь конверт в BBCode сделал :)
А то даже центровка не проскакивает через копипаст с сохранением оформления.
 
Разобрать docx вообще не такая уж проблема. Раз двадцать делал. Можно даже одними скриптами InDesign, но это на любителя
Собрать из docxTagggedText тоже довольно просто через трансформации.
А вот заставить пользователей правильно форматировать в Ворде -- это, насколько я знаю, не удавалось еще никому и истории.
 
Я так когда-то давным-давно в PageMaker справочники телефонные верстал, из .dbf брал данные специально написанной программой на Delphi, задавал стили тегами и писал в тестовый файл. После настройки генерация справочника занимала считанные минуты.
А сейчас в ID есть grep-стили, отличная вещь, я ими списки для караоке клепал, причем на нескольких языках.
Я к чему это (помимо как похвастаться '))' ). Может, есть смысл пересмотреть задачу, переосмыслить и сделать штатными средствами? ID щас дикой мощности система, можно практически всё сделать штатными средствами
 
Последнее редактирование:
Я так когда-то давным-давно в PageMaker справочники телефонные верстал, из .dbf брал данные специально написанной программой на Delphi, задавал стили тегами и писал в тестовый файл. После настройки генерация справочника занимала считанные минуты.
А сейчас в ID есть grep-стили, отличная вещь, я ими списки для караоке клепал, причем на нескольких языках.
Я к чему это (помимо как похвастаться '))' ). Может, есть смысл пересмотреть задачу, переосмыслить и сделать штатными средствами? ID щас дикой мощности система, можно практически всё сделать штатными средствами
А уж если на indesign натравливать xml и правильно настроенную команду "map tags to styles", то и скорость не будет напрягать. Основная заморочка с DTD. Но, как обычно - один раз долго настраиваешь, многократно быстро применяешь.
 
напомните, чем общепринятый метод не устраивает?
Иногда в импортированном тексте могут слетать начертания. На днях вообще все зависло при импорте ворд-документа. Через 30 минут научного втыка (матанализа) оказалось, что Инди давился двумя сносками в виде звездочек (остальные 40, в виде цифр, проблем не создавали). Чтобы спать спокойно лучше всего импортировать notepad'овский текст. А еще лучше tagged text. Но битва за подготовку идеального tagged-варианта займет времени (на данном уровне знаний) на порядок больше, чем дочистка полуручными методами (с иногдашним подключением "матанализов"))).
 
Иногда в импортированном тексте могут слетать начертания. На днях вообще все зависло при импорте ворд-документа. Через 30 минут научного втыка (матанализа) оказалось, что Инди давился двумя сносками в виде звездочек (остальные 40, в виде цифр, проблем не создавали). Чтобы спать спокойно лучше всего импортировать notepad'овский текст. А еще лучше tagged text. Но битва за подготовку идеального tagged-варианта займет времени (на данном уровне знаний) на порядок больше, чем дочистка полуручными методами (с иногдашним подключением "матанализов"))).
ну со сносками-то точно не вариант напрямую импортировать текст
Пока самый надежный алгоритм макрос word FootnotesToText + скрипт footnotesFromTags в ID
 
пример предъявите. текста, где "не доходит"
Вот, например (см. скрины).
Сам файл выложу, если разберусь, как.
Ставилось копипастом. Правда, если ставить импортом ртфа, то курсивы остаются. Но это на тестовом макете. А в работе просто увидел, что курсивы пропали. В общем периодическая головомойка с начертаниями. Поэтому хочется подстраховаться надежным тегированием начертаний.
 

Вложения

  • Indi_nokursiv.jpg
    Indi_nokursiv.jpg
    171.1 КБ · Просм.: 545
  • RTF_kursiv.jpg
    RTF_kursiv.jpg
    268.8 КБ · Просм.: 587
Рабочая среда:
1. Стили в *.indd (или в *.indt).
2. Соответствующие стили в шаблоне Word *.dotx (лучше с такими же именами).
3. Соответствующий пресет импорта *.smp.
Рабочий процесс:
1. Привязка шаблона к новому документу Word.
2. Подготовка документа: назначение стилей в тексте.
3. Импорт подготовленного документа в InDesign с указанным пресетом.
И никаких проблем.
(Разумеется, это может относиться не только к символьным стилям, но и к абзацным.)
 
Последнее редактирование:
  • Спасибо
Реакции: RIKITIKI
Рабочая среда:
1. Стили в *.indd (или в *.indt).
2. Соответствующие стили в шаблоне Word *.dotx (лучше с такими же именами).
3. Соответствующий пресет импорта *.smp.
Рабочий процесс:
1. Привязка шаблона к новому документу Word.
2. Подготовка документа: назначение стилей в тексте.
3. Импорт подготовленного документа в InDesign с указанным пресетом.
И никаких проблем.
(Разумеется, это может относиться не только к символьным стилям, но и к абзацным.)
Да, сделал умольчальный пресет. Но все равно основой текст в Индизе оказывается не той гарнитурой и не того кегля. На нем написано "body+". Как всегда. Должен быть Calibri, 11. А он Times New Roman, 12. А если Clear overrides (чтобы получить нужную гарнитуру и кегль) - пропадают все курсивы и пр. Все же думаю, самым радикальным способом раз-навсегда избавиться от от этого будет расстановка в Ворде тегов (типа <b>, <i>, <bi>) и последующего снятия всего форматирования со всего. Правда расстановка таких тегов и есть главная задача, которую надо решить.
 
Последнее редактирование:
В этом рабочем процессе предполагается, что весь текст в индизайне должен быть определён стилями.
Соответственно, весь текст в подготовленном документе в ворде — тоже.
Без стиля не должно быть ни одного символа.
В итоге после импорта просто делается Clear Overrides всему тексту, и всё.
 
пропадают все курсивы и пр.
Дак надо пройтись PerfectPrepText"ом сначала, вроде уже было в начале темы про этом.

А про импорт со абзацными стилями – у меня камень преткновения это куча мусорных стилей в документах ворда от авторов (сделать требованиями ограничиться стилями не вариант).
 
куча мусорных стилей в документах ворда от авторов
Разумеется. Это неизбежно, как новый год.
Поэтому документ надо готовить к импорту.
Ну или изыскивать всякие замудрённые способы вроде тегирования, что странно при наличии штатных способов.