我可以使用Node.js阅读PDF或Word文档吗?

我找不到任何软件包来做到这一点。 我知道PHP有很多PDF的库(比如http://www.fpdf.org/ ),但是Node有什么用?

您可以轻松地将一个转换为另一个,或者使用例如.doc模板来生成.pdf文件,但是您可能希望使用现有的Web服务来执行此任务。

例如,这可以使用Livedocx的服务来完成

要从节点使用此服务,请参阅node-livedocx (免责声明:我是此节点模块的作者)

textract是一个很好的支持PDF,Doc,Docx等的库

看起来有一些PDF,但我没有find任何的Word。

像这样的CPU绑定处理实际上并不是Node的强项(也就是说,使用节点来处理任何其他语言,您不会获得额外的好处)。 一个实用的方法是find一个好的工具,并从Node中使用它。

我已经在办公室听到了关于docsplit的好消息http://documentcloud.github.com/docsplit/

虽然不是Node,但您可以使用http://nodejs.org/docs/latest/api/all.html#child_process.exec轻松地从Node中调用它

我会build议看看unoconv为您的初始转换,这使用LibreOffice或OpenOffice的实际转换。 这增加了一些开销。

我会设置几个工作人员的所有必需品设置,并使用请求/响应队列来处理转换…(可能想看看kue或zmq )

一般来说,这是一个CPU的任务,应该卸载… Pandoc和其他人特别提到.docx ,而不是.doc所以他们可能也可能不是选项。


注:我知道这个问题是旧的,只是想为其他人提供一个当前的答案。

为了parsingpdf文件,你可以使用pdf2json节点模块

它允许您将pdf文件转换为json以及原始文本数据。

另一个不错的select,如果你只需要从Word文档转换是Mammoth.js 。

猛犸象devise用来转换.docx文件,例如由Microsoft Word创build的文件,并将它们转换为HTML。 猛犸象旨在通过使用文档中的语义信息来生成简单而干净的HTML,而忽略其他细节。 例如,猛犸象将任何一种带有标题1样式的段落转换成h1元素,而不是试图完全复制标题的样式(字体,文字大小,颜色等)。

.docx使用的结构与HTML结构之间存在很大的不匹配,这意味着转换对于更复杂的文档来说不太可能是完美的。 如果只使用样式在语义上标记文档,则猛犸象效果最好。

您可以使用PDF文件的PDF文件。 它会将文本从pdf中提取到文本“块”的数组中。 用于对结构化的pdf文本进行模糊分析。

 var pdfText = require('pdf-text') var pathToPdf = __dirname + "/info.pdf" pdfText(pathToPdf, function(err, chunks) { //chunks is an array of strings //loosely corresponding to text objects within the pdf //for a more concrete example, view the test file in this repo }) var fs = require('fs') var buffer = fs.readFileSync(pathToPdf) pdfText(buffer, function(err, chunks) { console.log(chunks) }) 

对于docx文件你可以使用猛犸象,它会从.docx文件中提取文本。

 var mammoth = require("mammoth"); mammoth.extractRawText({path: "./doc.docx"}) .then(function(result){ var text = result.value; // The raw text console.log(text); var messages = result.messages; }) .done(); 

我希望这将有所帮助。