2017-06-22 145 views
2

我正在寻找一个JavaScript库,它可以读取.doc.docx-文件。重点只放在文字内容上。我对MS-Word文件中的图片,公式或其他特殊结构不感兴趣。用于在客户端上读取doc和docx的JavaScript库

如果库与JavaScript FileReader协同工作,如下面的代码所示,那将会很棒。

function readExcel(currfile) { 
    var reader = new FileReader(); 

    reader.onload = (function (_file) { 
     return function (e) { 
      //here should the magic happen 
     }; 
    })(currfile); 

    reader.onabort = function (e) { 
     alert('File read canceled'); 
    }; 

    reader.readAsBinaryString(currfile); 
} 

我通过互联网搜索,但我真的不明白我在找什么。

感谢您的帮助。

+0

我不知道,只能在前端显示DOC/DOCX内容有任何JS库。但是,如果您从后端获取这些文件,则可以在使用Apache Tika将文本内容发送到前端之前,在后端提取doc/docx文件的文本内容。 'Tika#parseToString()'方法。 –

+0

感谢您的回复,但我的后端是Microsoft Dynamics NAV。所以你的解决方案可悲的是不适合我。作为进一步的信息,它必须是用于NAV的JS AddIn。 – Torben

回答

1

您可以使用docxtemplater这个(即使通常情况下,它是用于模板,它也可以只获取文档的文本):

var zip = new JSZip(content); 
var doc=new Docxtemplater().loadZip(zip) 
var text= doc.getFullText(); 
console.log(text); 

安装信息,请参阅the Doc(我是该项目的维护者)

但是,它只能处理的docx,不DOC

+0

谢谢,那就是我一直在寻找的。你做得很好。 – Torben

+0

当我将此作为zip文件使用时发生错误'zip.file('yo.docx',element.data,{base64:true});' – lorussian

+0

什么样的错误?你在使用jzip版本2吗?如果您使用的是JSZip版本3,则会失败。 – edi9999