将DOCX转换为纯文本(希望在R中)

时间:2019-07-17 23:44:13

标签: r r-markdown docx pandoc officer

我正在尝试将DOC或DOCX文件转换为纯文本(TXT),以确保忽略所有格式和样式,并正确呈现编码,并且用户无需进行任何手动预处理。

军官包能使我获得大部分收益。以下代码产生一个TXT文件,其中没有垃圾字符,并且没有任何文本指示标头样式等:

doc <- officer::read_docx("my_doc.docx")
content <- docx_summary(doc)
writeLines(content$text, file("textout.txt", encoding="UTF-8"))

但是,此输出显示完整的域代码。例如,输入文件中的日期呈现为:

"DATE \@ "d MMMM yyyy" 17 July 2019"

并且完全省略了目录对象。

同样,我无法进行任何手动预处理,除非可以使用代码将其自动化!我知道我可以取消所有域代码的链接,但是除非有一种自动方法可以在命令行或仅在R中执行,否则这是不可行的。

作为替代方案,使用pandoc会导致解决域代码问题的文本:

rmarkdown::pandoc_convert(doc_file, to="plain", from="docx")

但是编码不正确。例子:

"those with an affinityÂ"
"Station’s business model?Â"

有人可以帮我在这里解决问题吗?就我个人而言,我很乐意结合其他工具,但是仅使用R的方法将是极好的。

0 个答案:

没有答案