是否有任何GNU/Linux命令行实用程序将.doc(x)文件转换为.pdf?

34 pdf

当然我是第100个问这个问题的用户,但是在我搜索了这里和其他网站上的类似主题后,我仍然找不到我需要的东西.我喜欢为我的GNU/Linux提供一个简单的命令行工具,它将.doc(x)文件转换为.pdf但是输出看起来和原始文件一样.所以Libre Office对此并不是很好的选择,因为在某些情况下它并没有好转.我找到了一个网站http://www.freepdfconvert.com/,它很好地完成了工作,但我无法上传任何敏感文件,因为这是一个很大的风险.我不会说他们会对他们做任何不好的事情但是它是怎么回事.如果我找不到任何好工具,我可能要自己写一个.

Cha*_*win 46

不幸的是,Word(doc/docx)到PDF没有基于Linux的保证1对1转换器.这是因为Word(一种Microsoft产品)使用的专有格式随每个版本略有变化.由于传统上不是公开记录的格式,并且Microsoft没有将Word/Office移植到Linux(也不会),因此您必须依赖反向工程的第三方工具来处理旧格式(doc)以及正确解释Office Open XML格式第三方开发者.

我们发现最好的开源解决方案是LibreOffice(它是从OpenOffice.org派生的,在开源之前它本身就被称为Star Office).另一个答案表明,它比AbiWord更加积极发展.

命令行中的用法很简单,并且有很多示例:

soffice --headless --convert-to pdf filename.doc
Run Code Online (Sandbox Code Playgroud)

或者您也可以使用libreoffice而不是soffice更新的版本.

  • 我认为这有所改变 - docx和xlsx是Office Open XML [1]的一部分,这是一种非常好的文档.将这些转换为PDF的工具仍然很少,而且介于两者之间.[1] https://en.wikipedia.org/wiki/Office_Open_XML (2认同)

Kur*_*fle 20

还有Pandoc.

Pandoc,最近几个月以其具有Markdown功能的处理优势(用于输出HTML,LaTeX,PDF,EPUB和什么不是)而闻名,它已经获得了处理DOCX输入文件的相当好的工作能力.
(注意:Pandoc仅适用于DOCX,不适用于DOC文件.)

要使其PDF输出正常工作,它需要一个有效的LaTeX安装(包含其中一个或全部pdflatex,lualatexxelatex包括在内).在这种情况下,以下简单命令应该起作用:

pandoc -o output.pdf -f docx input.docx
Run Code Online (Sandbox Code Playgroud)

但请注意,输出布局和字体样式现在看起来并不像您将DOCX从Word导出为PDF时所看到的类似.它将使用默认LaTeX文档的样式.

可以使用这样的自定义模板文件影响LaTeX生成的PDF的输出样式...

pandoc                              \
  -o output.pdf                     \
  -f docx                           \
 --template=my-latex-template.tmplt \
   input.docx
Run Code Online (Sandbox Code Playgroud)

...但对于Pandoc/LaTeX专家来说,这是一个比初学者更多的功能.

  • pandoc无法从doc文件转换,它需要docx. (3认同)
  • @knocker:我没有说它适用于 DOC,我只提到了 DOCX。但不可否认的是,这一点很容易被忽视。谢谢你的提示——我会让它更明确。 (2认同)