在 pandoc 中将 .odt 转换为 .docx
Posted
技术标签:
【中文标题】在 pandoc 中将 .odt 转换为 .docx【英文标题】:Convert .odt to .docx in pandoc 【发布时间】:2015-05-13 00:05:16 【问题描述】:我正在尝试通过以下命令将我的 libre office 文档转换为 ms word 文档
pandoc CS141Exam.odt -f markdown -t docx -s -o test1.docx
但我收到以下错误
pandoc: Cannot decode byte '\xac': Data.Text.Encoding.Fusion.streamUtf8: Invalid UTF-8 stream
实现此目的的正确命令是什么?
【问题讨论】:
pandoc
可以写入 odt 但不能从中读取。见this list of input formats。您可以使用 libreoffice 中的内置转换器:libreoffice --convert-to docx CS141Exam.odt
@scoa 根据您的链接,pandoc shd 能够读取它:“它可以读取 Markdown、CommonMark、php Markdown Extra、GitHub-Flavored Markdown 和 Textile、reStructuredText、html 的(子集), LaTeX、MediaWiki 标记、TWiki 标记、Haddock 标记、OPML、Emacs Org 模式、DocBook、txt2tags、EPUB、ODT 和 Word docx;"
【参考方案1】:
你有 pandoc 试图转换“从”(-f
)降价,“到”(-t
)docx。但是你给它一个odt
文件。所以它试图阅读odt
,就好像它是降价和窒息一样,因为它不是降价。你想要更接近的东西:
pandoc CS141Exam.odt -f odt -t docx -s -o test1.docx
但是... until pandoc 1.15.1 不支持 odt,所以 pandoc -v
也支持以确保您也有当前版本。我的 Ubuntu 稳定存储库给了我 1.12.4.2——我必须得到 the latest directly from pandoc,但这对我来说很好:
pandoc -f odt -t docx -o example.docx example.odt
(虽然我没有 MS Word,但我只知道 example.docx
在 LibreOffice Writer 中看起来不错)
【讨论】:
您也可以从源代码安装 pandoc 以获取最新版本 (pandoc.org/installing.html)。我仍然建议使用 libreoffice 或 openoffice (***.com/questions/21845789/…),因为 pandoc 会首先将 odt 转换为原生 pandoc,然后再转换回 docx,在此过程中会丢失一些格式。以上是关于在 pandoc 中将 .odt 转换为 .docx的主要内容,如果未能解决你的问题,请参考以下文章
将 .odt .doc .ods 文件转换为 .txt 文件
生成 ODT/DOC(X) 并转换为 PDF,无需 OO.o/MS