我已经成功地完成了在浏览器中显示PDF文件而不是“打开/保存”对话框的代码。现在,我不得不尝试在浏览器中显示Word文档。我想在Firefox, IE7+, Chrome等浏览器中显示Word文档。

有人能帮忙吗?在浏览器中显示Word文档时,我总是会弹出“打开/保存”对话框。我想使用JavaScript实现这个功能。


当前回答

Brandon和fatbotdesigns的答案都是正确的,但在实现谷歌文档预览后,我们发现谷歌无法处理多个.docx文件。切换到MS Office在线预览和工作就像一个魅力。

我的建议是使用MS Office预览URL,而不是谷歌。

https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc' 

其他回答

Brandon和fatbotdesigns的答案都是正确的,但在实现谷歌文档预览后,我们发现谷歌无法处理多个.docx文件。切换到MS Office在线预览和工作就像一个魅力。

我的建议是使用MS Office预览URL,而不是谷歌。

https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc' 

我想我有主意了。 这一直在做我的坚果在太,我仍然有麻烦让它显示在Chrome。

将word文件(name.docx)保存为单个文件网页(name.mht) 在你的html使用中

<iframe src= "name.mht" width="100%" height="800"> </iframe>

根据你的需要调整高度和宽度。

如果您想对DOCX文件进行预处理,而不是等到运行时,您可以先使用文件转换API(如Zamzar)将它们转换为HTML。您可以使用API以编程方式将DOCX转换为HMTL,将输出保存到服务器,然后将HTML提供给最终用户。

转换非常简单:

curl https://api.zamzar.com/v1/jobs \
-u API_KEY: \
-X POST \
-F "source_file=@my.docx" \
-F "target_format=html5"

这将消除对谷歌和Microsoft服务的任何运行时依赖(例如,如果它们宕机了,或者您的速率受到它们的限制)。

它也有好处,你可以扩展到其他文件类型,如果你想(PPTX, XLS, DOC等)

使用Libre Office API 这里有一个例子

Libreoffice——headless——convert-to HTML docx-file-path——outdir HTML -dir-path

PDFTron WebViewer支持在任何浏览器中直接呈现Word(和其他Office格式),不需要任何服务器端依赖。 要测试,请尝试https://www.pdftron.com/webviewer/demo