我已经成功地完成了在浏览器中显示PDF文件而不是“打开/保存”对话框的代码。现在,我不得不尝试在浏览器中显示Word文档。我想在Firefox, IE7+, Chrome等浏览器中显示Word文档。
有人能帮忙吗?在浏览器中显示Word文档时,我总是会弹出“打开/保存”对话框。我想使用JavaScript实现这个功能。
我已经成功地完成了在浏览器中显示PDF文件而不是“打开/保存”对话框的代码。现在,我不得不尝试在浏览器中显示Word文档。我想在Firefox, IE7+, Chrome等浏览器中显示Word文档。
有人能帮忙吗?在浏览器中显示Word文档时,我总是会弹出“打开/保存”对话框。我想使用JavaScript实现这个功能。
当前回答
目前没有浏览器有呈现Word文档所需的代码,而且据我所知,目前也没有用于呈现Word文档的客户端库。
然而,如果你只需要显示Word文档,但不需要编辑它,你可以通过<iframe>使用谷歌文档查看器来显示远程托管的.doc/.docx。
<iframe src="https://docs.google.com/gview?url=http://remote.url.tld/path/to/document.doc&embedded=true"></iframe>
解决方案改编自“如何使用fancybox显示word文档”。
例子:
JSFiddle
然而,如果你更喜欢本地支持,在大多数(如果不是所有)浏览器中,我建议将.doc/.docx重新保存为PDF文件,这些文件也可以由Mozilla使用PDF.js独立呈现。
编辑:
非常感谢cubeguerrero在评论中发布了微软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所指出的,这将把文档上传到第三方服务器。如果这是不可接受的,那么这种显示方法就不是正确的做法。
生活例子:
谷歌文档查看器
Microsoft Office Viewer
其他回答
Native Documents(我对它很感兴趣)专门为Word文档(包括传统的二进制.doc和现代docx格式)制作了一个查看器(和编辑器)。这样做不会造成对HTML的有损转换。以下是如何开始https://github.com/NativeDocuments/nd-WordFileEditor/blob/master/README.md
目前没有浏览器有呈现Word文档所需的代码,而且据我所知,目前也没有用于呈现Word文档的客户端库。
然而,如果你只需要显示Word文档,但不需要编辑它,你可以通过<iframe>使用谷歌文档查看器来显示远程托管的.doc/.docx。
<iframe src="https://docs.google.com/gview?url=http://remote.url.tld/path/to/document.doc&embedded=true"></iframe>
解决方案改编自“如何使用fancybox显示word文档”。
例子:
JSFiddle
然而,如果你更喜欢本地支持,在大多数(如果不是所有)浏览器中,我建议将.doc/.docx重新保存为PDF文件,这些文件也可以由Mozilla使用PDF.js独立呈现。
编辑:
非常感谢cubeguerrero在评论中发布了微软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所指出的,这将把文档上传到第三方服务器。如果这是不可接受的,那么这种显示方法就不是正确的做法。
生活例子:
谷歌文档查看器
Microsoft Office Viewer
PDFTron WebViewer支持在任何浏览器中直接呈现Word(和其他Office格式),不需要任何服务器端依赖。 要测试,请尝试https://www.pdftron.com/webviewer/demo
ViewerJS有助于查看/嵌入openoffice格式,如odt,odp,ods和pdf。
用于嵌入openoffice/pdf文档
<iframe src = "/ViewerJS/#../demo/ohm2013.odp" width='700' height='550' allowfullscreen webkitallowfullscreen></iframe>
/ViewerJS/是ViewerJS的路径
# . ./demo/ohm2013是你想嵌入的文件的路径
如果您想对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等)