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

vbatushev

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

vbatushev

15 лет на форуме
Сообщения
2 219
Оценка реакций
1 201
116636


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

Пока это прямо пре-пре-пре-альфа. Например, не обрабатывает таблицы да и всякие там сноски тоже. Может, и вовсе в это фазе замрет :)
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
23 294
Оценка реакций
8 092
Зачем питон и go? Там формат элементарный - куча xml в архиве, распарсить самому проще, чем с этой экзотикой разбираться.
 

JAW

15 лет на форуме
Сообщения
14 690
Оценка реакций
3 146
Эх, мне бы кто нибудь конверт в BBCode сделал :)
А то даже центровка не проскакивает через копипаст с сохранением оформления.
 

Oleg Butrin

15 лет на форуме
Сообщения
1 543
Оценка реакций
833
Разобрать docx вообще не такая уж проблема. Раз двадцать делал. Можно даже одними скриптами InDesign, но это на любителя
Собрать из docxTagggedText тоже довольно просто через трансформации.
А вот заставить пользователей правильно форматировать в Ворде -- это, насколько я знаю, не удавалось еще никому и истории.
 

zollinger

Участник
Сообщения
64
Оценка реакций
22
Я так когда-то давным-давно в PageMaker справочники телефонные верстал, из .dbf брал данные специально написанной программой на Delphi, задавал стили тегами и писал в тестовый файл. После настройки генерация справочника занимала считанные минуты.
А сейчас в ID есть grep-стили, отличная вещь, я ими списки для караоке клепал, причем на нескольких языках.
Я к чему это (помимо как похвастаться '))' ). Может, есть смысл пересмотреть задачу, переосмыслить и сделать штатными средствами? ID щас дикой мощности система, можно практически всё сделать штатными средствами
 
Последнее редактирование:

kstati

иɯɐɯɔʞ
Сообщения
890
Оценка реакций
436
Я так когда-то давным-давно в PageMaker справочники телефонные верстал, из .dbf брал данные специально написанной программой на Delphi, задавал стили тегами и писал в тестовый файл. После настройки генерация справочника занимала считанные минуты.
А сейчас в ID есть grep-стили, отличная вещь, я ими списки для караоке клепал, причем на нескольких языках.
Я к чему это (помимо как похвастаться '))' ). Может, есть смысл пересмотреть задачу, переосмыслить и сделать штатными средствами? ID щас дикой мощности система, можно практически всё сделать штатными средствами
А уж если на indesign натравливать xml и правильно настроенную команду "map tags to styles", то и скорость не будет напрягать. Основная заморочка с DTD. Но, как обычно - один раз долго настраиваешь, многократно быстро применяешь.
 

hulk1776

Топикстартер
10 лет на форуме
Сообщения
431
Оценка реакций
11
напомните, чем общепринятый метод не устраивает?
Иногда в импортированном тексте могут слетать начертания. На днях вообще все зависло при импорте ворд-документа. Через 30 минут научного втыка (матанализа) оказалось, что Инди давился двумя сносками в виде звездочек (остальные 40, в виде цифр, проблем не создавали). Чтобы спать спокойно лучше всего импортировать notepad'овский текст. А еще лучше tagged text. Но битва за подготовку идеального tagged-варианта займет времени (на данном уровне знаний) на порядок больше, чем дочистка полуручными методами (с иногдашним подключением "матанализов"))).
 

Как_же_так

Участник
Сообщения
43
Оценка реакций
41
Иногда в импортированном тексте могут слетать начертания. На днях вообще все зависло при импорте ворд-документа. Через 30 минут научного втыка (матанализа) оказалось, что Инди давился двумя сносками в виде звездочек (остальные 40, в виде цифр, проблем не создавали). Чтобы спать спокойно лучше всего импортировать notepad'овский текст. А еще лучше tagged text. Но битва за подготовку идеального tagged-варианта займет времени (на данном уровне знаний) на порядок больше, чем дочистка полуручными методами (с иногдашним подключением "матанализов"))).
ну со сносками-то точно не вариант напрямую импортировать текст
Пока самый надежный алгоритм макрос word FootnotesToText + скрипт footnotesFromTags в ID