Я получил более 5000 файлов eml с содержимым html (объявлен как text / html utf-8 в заголовках, но ...), и мне нужно преобразовать их в единственный формат, поддерживаемый нашим сторонним переводчиком - Microsoft Word .doc [ ! d0]
Я могу сделать это вручную, открыв его в Thunderbird и скопировав его в openoffice, но это требует большого количества ручного труда.
Моим последним аттестом было извлечь html-контент, используя " munpack -t ", но это как-то сломало кодировку. Даже если я добавил мета-заголовок в html-файл, определяющий кодировку utf-8, он был сломан. После более пристального изучения этих файлов eml я уверен, что это не utf-8, а althroug определен как и thunderbird может их прочитать.
К сожалению, я не могу предоставить эти файлы, поскольку они содержат «конфиденциальные данные компании». Я надеюсь, что кто-то сможет распознать проблему или порекомендовать новый инструмент.
edit: Пример файла (с удалением конфиденциальных данных) https://pastebin.com/qm1rBh7t
никогда этого не делал. быстрый поиск с найденной поисковой системой
https://stackoverflow.com/questions/5671988/how-to-extract-just-plain-text-from-doc-docx-files-unix
, который содержит
- начало цитаты
«Один из вариантов - это libreoffice / openoffice в режиме безглавых (убедитесь, что все остальные экземпляры libreoffice закрыты первыми):
libreoffice --headless --convert-to txt: text mydocument.doc
Для получения дополнительной информации см., например, эту ссылку: https://stackoverflow.com/questions/5671988/how -to-extract-just-plain-text-from-doc-docx-files-unix
Список фильтров libreoffice см. http://cgit.freedesktop.org/libreoffice/ core / tree / filter / source / config / fragments / filters
Поскольку синтаксис командной строки openoffice слишком сложный, есть удобная оболочка, которая облегчает процесс: unoconv. "
- конец цитаты
Я бы экспериментировал с этим для одного файла, а затем просто поставил цикл for, чтобы сделать все. это предназначено как идея, надеясь, что это подтолкнет вас туда, где, как я думаю, может работать (или, по крайней мере, привести к исправлению)
никогда этого не делал. быстрый поиск с найденной поисковой системой
https://stackoverflow.com/questions/5671988/how-to-extract-just-plain-text-from-doc-docx-files-unix
, который содержит
- начало цитаты
«Один из вариантов - это libreoffice / openoffice в режиме безглавых (убедитесь, что все остальные экземпляры libreoffice закрыты первыми):
libreoffice --headless --convert-to txt: text mydocument.doc
Для получения дополнительной информации см., например, эту ссылку: https://stackoverflow.com/questions/5671988/how -to-extract-just-plain-text-from-doc-docx-files-unix
Список фильтров libreoffice см. http://cgit.freedesktop.org/libreoffice/ core / tree / filter / source / config / fragments / filters
Поскольку синтаксис командной строки openoffice слишком сложный, есть удобная оболочка, которая облегчает процесс: unoconv. "
- конец цитаты
Я бы экспериментировал с этим для одного файла, а затем просто поставил цикл for, чтобы сделать все. это предназначено как идея, надеясь, что это подтолкнет вас туда, где, как я думаю, может работать (или, по крайней мере, привести к исправлению)