我已经成功地编写了代码,可以在浏览器中显示PDF文件,而不是“打开/保存”对话框。现在,我正试图在浏览器中显示Word文档,但卡住了。我想在Firefox、IE7+、Chrome等浏览器中显示Word文档。
有人能帮忙吗?每次在浏览器中显示Word文档时,我总是得到“打开/保存”对话框。我想使用JavaScript实现这个功能。
我已经成功地编写了代码,可以在浏览器中显示PDF文件,而不是“打开/保存”对话框。现在,我正试图在浏览器中显示Word文档,但卡住了。我想在Firefox、IE7+、Chrome等浏览器中显示Word文档。
有人能帮忙吗?每次在浏览器中显示Word文档时,我总是得到“打开/保存”对话框。我想使用JavaScript实现这个功能。
<iframe>
来显示远程托管的.doc
/.docx
文件。<iframe src="https://docs.google.com/gview?url=http://remote.url.tld/path/to/document.doc&embedded=true"></iframe>
本解决方案改编自“如何使用fancybox显示Word文档”。
示例:
然而,如果你更喜欢原生支持,在大多数浏览器中,我建议将.doc
/.docx
文件另存为PDF文件。这些文件也可以使用Mozilla的PDF.js独立呈现。
编辑:
非常感谢cubeguerrero在评论中发布了Microsoft Office 365查看器。
<iframe src='https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc' width='1366px' height='623px' frameborder='0'>This is an embedded <a target='_blank' href='http://office.com'>Microsoft Office</a> document, powered by <a target='_blank' href='http://office.com/webapps'>Office Online</a>.</iframe>
请注意,正如lightswitch05指出的那样,还有一个重要的限制条件,即这将上传您的文档到第三方服务器。如果这是不可接受的,则此显示方法不是适当的操作。
实时示例:
Brandon和fatbotdesigns的答案都是正确的,但在实施Google文档预览时,我们发现有多个无法被Google处理的.docx文件。转而使用MS Office Online预览,效果如此出色。
我的建议是使用MS Office预览URL而不是Google的。
https://view.officeapps.live.com/op/embed.aspx?src=http://remote.url.tld/path/to/document.doc'
有几个可以在客户端处理.docx(而不是.doc)转换为HTML的JS库(无特定顺序):
https://github.com/VolodymyrBaydalka/docxjs - 在浏览器中运行,仅支持docx格式,某些复杂布局可能会有问题;(积极维护)演示链接
https://github.com/lalalic/docx2html(npm)- 将docx转换为html,支持大多数元素,在浏览器或nodejs中运行
https://github.com/mwilliamson/mammoth.js - 支持标题、列表、表格、尾注、脚注、图片和文本框
https://github.com/artburkart/docx2html - 显然在浏览器中可用
<iframe src = "/ViewerJS/#../demo/ohm2013.odp" width='700' height='550' allowfullscreen webkitallowfullscreen></iframe>
/ViewerJS/
是 ViewerJS 的路径
#../demo/ohm2013
是要嵌入的文件的路径
我觉得我有一个想法。 这个问题也一直困扰着我,我仍然无法让它在Chrome中显示。
将文档(name.docx)在Word中保存为单个文件网页(name.mht) 在你的html中使用以下代码:
<iframe src= "name.mht" width="100%" height="800"> </iframe>
根据需要修改高度和宽度。
curl https://api.zamzar.com/v1/jobs \
-u API_KEY: \
-X POST \
-F "source_file=@my.docx" \
-F "target_format=html5"
Native Documents(我有兴趣的公司)制作了一个专门用于Word文档(包括传统的二进制.doc和现代的docx格式)的查看器(和编辑器)。它可以在不丢失信息的情况下直接处理这些文档,而无需将其转换为HTML格式。以下是开始使用的方法https://github.com/NativeDocuments/nd-WordFileEditor/blob/master/README.md
您还可以使用一些现有的API,例如GroupDocs.Viewer,它可以将您的文档转换为图像或HTML,然后您就可以在自己的应用程序中显示它。