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

时间:2014-01-18 11:45:30

标签: pdf

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

2 个答案:

答案 0 :(得分:45)

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

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

命令行的用法很简单,well documented有很多examples

soffice --headless --convert-to pdf filename.doc

或者您也可以在较新版本上使用libreoffice代替soffice

答案 1 :(得分:16)

还有 Pandoc

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

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

pandoc -o output.pdf -f docx input.docx

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

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

pandoc                              \
  -o output.pdf                     \
  -f docx                           \
 --template=my-latex-template.tmplt \
   input.docx

...但这是Pandoc / LaTeX专家使用的功能,而不是初学者。