[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 лет на форуме
Сообщения
22 807
Оценка реакций
7 970
Зачем питон и go? Там формат элементарный - куча xml в архиве, распарсить самому проще, чем с этой экзотикой разбираться.
 

JAW

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

Oleg Butrin

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