问题:
我通常使用 .shell 将文本输出到文件>
。我试图找到一个输出 MS Word 文档(.doc 或 .docx)的等效过程。
我正在考虑使用 libreoffice 并想出了这个使用转换成命令:
echo "texthere" > tt.txt; soffice --convert-to doc tt.txt
也就是说,我首先创建一个纯 txt 文档,然后在第二步中将其转换为 doc。
问题:有没有一步解决的办法?
例如:
echo "texthere" | command_to_output_as_doc filename.doc
谢谢! (我在 Elementary OS 上使用 GNU bash,版本 4.3.48(1))
答案1
我相信你也许能够使用潘多克。它从标准输入读取并可以输出为多种格式
答案2
这只是在测试后添加到 @rcjohnson 的答案中。 潘多克确实可以很好地将各种输入转换为 docx 格式,包括格式化文本。
例如,以下 Python 脚本(另存为 pandoctest.py)
print "Here we have **bold** and _italics_ and `code`"
可以按如下方式运行:
python pandoctest.py | pandoc --from markdown_github --to docx -o testdoc.docx
(表示打印输出要读取为Markdown,然后保存为docx以测试文档.docx;除非指定输入文件,Pandoc 从 stdin 读取)
这会生成一个格式如下的 Word 文档:
在这里我们有大胆的和斜体和
code
Pandoc 对于 pdf、不同的 Markdown 风格等有更多的选择。