Syn*_*sso 65 markdown docx pandoc
我已经自动构建了使用Pandoc将Markdown文件转换为DOCX文件.我甚至使用参考文档来确定最终文档的样式.我使用的命令是:
pandoc -f markdown -t docx --data-dir=docs/rendering/ mydoc.md -o mydoc.docx
Run Code Online (Sandbox Code Playgroud)
在reference.docx
从拾起Pandoc docs/rendering
和Pandoc使mydoc.docx
具有相同风格的参考文档.
但是,不仅reference.docx
包含样式.它包含公司徽标,序言等.
如何自动将Markdown内容与样式和内容合并reference.docx
.我的解决方案需要在Linux上运行.
Fra*_*anc 24
更新
使用用户Christian Long建议的管道版本:
Run Code Online (Sandbox Code Playgroud)pandoc -t latex mydoc.md | pandoc -f latex --data-dir=docs/rendering/ -o mydoc.docx
我知道这是迟到的,但我会假设人们仍然在寻找原始问题后三年的解决方案 - 我知道我是.
我的解决方案是使用LaTeX作为markdown和docx之间的中介(实际上,我是从org-mode转换,但是相同的区别).所以在你的情况下,我相信一个单线解决方案将是:
pandoc -f markdown -t latex -o mydoc.tex mydoc.md && \
pandoc -f latex -t docx --data-dir=docs/rendering/ -o mydoc.docx mydoc.tex
Run Code Online (Sandbox Code Playgroud)
这可能会让你更接近你的目标.当然,Pandoc有大约一百个它可以处理的参数,并且可能有办法使这个更漂亮.自您第一次发布问题以来,它也获得了不少更新.
And*_*rew 12
理想情况下,您可以使用自定义docx模板,但pandoc尚不支持.一个reference.docx
文件只允许被嵌入到新创建的docx文件自定义样式.
幸运的是,你可以使用odt而不是docx来估算它.您可以相当轻松地修改默认的OpenDocument模板,以包含您的自定义徽标,前导码和其他内容.将自定义模板与reference.odt
文件结合使用可获取所有样式和自定义内容.
一旦你有了odt格式的文件,你可以使用任意数量的命令行工具从odt转换为docx.例如,在Linux上你可以运行
libreoffice --invisible --convert-to docx test.odt
Run Code Online (Sandbox Code Playgroud)
或者在OS X上:
/Applications/LibreOffice.app/Contents/MacOS/soffice.bin --invisible --convert-to docx test.odt
Run Code Online (Sandbox Code Playgroud)
我在一些复杂的模板上使用了它,发现它很好地映射了字体、公司徽标等。但是在 .docx -> .docx 中,我必须手动将标题样式应用于章节/分节符。字体是正确的,但切片不正确。接下来我将尝试 .md -> .docx 。
此功能现已在 Pandoc 中提供,如下所述:
从上面的链接:
pandoc input --reference-docx=my-reference.docx -o out.docx
Run Code Online (Sandbox Code Playgroud)
其中my-reference.docx
(nb not a .dotx
) 可以是:
归档时间: |
|
查看次数: |
30831 次 |
最近记录: |