我正在尝试通过使用pandoc将邮件接收的.docx转换为正确的pdf(我正在使用GNU / Linux)。
我有一个关于字符编码的错误:
$ pandoc file.docx -o file.pdf
pandoc: Cannot decode byte '\x87': Data.Text.Encoding.decodeUtf8: Invalid UTF-8 stream
我试图识别编码:
$ file -i file .docx
file.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary
我有点惊讶charset=binary
(我原以为是charset=iso8859-15
)。但是我还是试图将.docx转换为utf8,但它不起作用:
$ iconv -t utf-8 file.docx
P! $iconv: séquence d'échappement non permise à la position 16
我在pandoc文档中的命令行中有相同的错误:
iconv -t utf-8 file.docx | pandoc | iconv -f utf-8
如何使用pandoc将此.docx转换为pdf?
在此处的文档中,.docx
未作为兼容输入列出:
Pandoc是用于从一种标记格式转换为另一种标记格式的Haskell库,也是使用该库的命令行工具。它可以读取markdown以及Textile,reStructuredText,HTML,LaTeX,MediaWiki标记,Haddock标记,OPML和DocBook(的子集);它可以编写纯文本,markdown,reStructuredText,XHTML,HTML 5,LaTeX(包括投影仪幻灯片放映),ConTeXt,RTF,OPML,DocBook,OpenDocument,ODT,Word docx,GNU Texinfo,MediaWiki标记,EPUB(v2或v3) ),FictionBook2,Textile,groff手册页,Emacs Org-Mode,AsciiDoc和Slidy,Slideous,DZSlides,reveal.js或S5 HTML幻灯片。它还可以在安装了LaTeX的系统上生成PDF输出。
只要您不介意一些格式错误,请尝试其他方法,例如Libreoffice-可以执行docx。
现在的说明说Pandoc现在似乎支持从Word DOCX(以及DocBook和其他一些格式)进行读取:
Pandoc是用于从一种标记格式转换为另一种标记格式的Haskell库,也是使用该库的命令行工具。它可以读取markdown和(子集)Textile,reStructuredText,HTML,LaTeX,MediaWiki标记,TWiki标记,Haddock标记,OPML,Emacs Org-mode,DocBook,txt2tags,EPUB和Word docx;它可以编写纯文本,markdown,reStructuredText,XHTML,HTML 5,LaTeX(包括投影仪幻灯片放映),ConTeXt,RTF,OPML,DocBook,OpenDocument,ODT,Word docx,GNU Texinfo,MediaWiki标记,DokuWiki标记,Haddock标记,EPUB(v2或v3),FictionBook2,Textile,groff手册页,Emacs Org-Mode,AsciiDoc,InDesign ICML以及Slidy,Slideous,DZSlides,reveal.js或S5 HTML幻灯片。它还可以在安装了LaTeX的系统上生成PDF输出。
正如@evilsoup建议的那样,这可能有效:
cd /DIRECTORY/WITH/FILE/IN && libreoffice --headless --convert-to html 'FILE.docx' && pandoc 'FILE.html' -o 'FILE.pdf'
是的,您可以将libreoffice命令与一起使用--outdir
,但是html输出并不总是这样。
我进行了此快速测试,除了因文档中的gif图像而使Pandoc崩溃之外,它似乎还可以工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句