我有超过 5000 个包含 html 内容的 eml 文件(在标题中声明为 text/html utf-8,但是...),我需要将它们转换为我们外包翻译人员支持的唯一格式 - Microsoft Word .doc
我可以通过在 Thunderbird 中打开它并将其复制粘贴到 openoffice 中来手动完成,但这需要大量的手动劳动。
我最后一次尝试使用“munpack -t”命令提取 html 内容,但不知何故它破坏了编码。即使我向定义 utf-8 字符集的 html 文件添加了元标头,它还是被破坏了。仔细查看这些 eml 文件后,我确信它们不是 utf-8,尽管定义为,thunderbird 可以正常读取它们。
遗憾的是,我无法提供这些文件,因为它们包含“敏感的公司数据”。我希望有人能够识别问题或推荐一种新工具。
编辑:示例文件(敏感数据已被删除)https://pastebin.com/qm1rBh7t
答案1
从来没有做过,所以不知道。用搜索引擎快速搜索后发现
https://stackoverflow.com/questions/5671988/how-to-extract-just-plain-text-from-doc-docx-files-unix
其中包含
- 开始报价
“一个选项是无头模式下的 libreoffice/openoffice(确保首先关闭 libreoffice 的所有其他实例):
libreoffice --headless --convert-to txt:文本 mydocument.doc
欲了解更多详细信息,请参见以下链接:http://ask.libreoffice.org/en/question/2641/convert-to-command-line-parameter/
有关 libreoffice 过滤器的列表,请参阅http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/config/fragments/filters
由于 openoffice 命令行语法有点太复杂,所以有一个方便的包装器可以使这个过程更容易:unoconv。”
- 引言结束
我会用单个文件尝试这个,然后放入一个for
循环来完成所有操作。这只是一个想法,希望它能推动你到我认为可能有效的地方(或者至少能找到解决办法)