如何使用JavaScript在浏览器中呈现Word文档(.doc,.docx)?

2020/11/07 23:22 · javascript ·  · 0评论

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

可以帮忙吗?在浏览器中显示Word文档时,我总是会收到“打开/保存”对话框。我想使用JavaScript实现此功能。

目前,没有浏览器具有呈现Word文档所必需的代码,据我所知,目前也没有用于呈现它们的客户端库。

但是,如果您只需要显示Word文档,而不需要对其进行编辑,则可以通过使用Google文档的查看器<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独立地将它们保存

编辑:

非常感谢fatbotdesigns在评论中发布了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所指出的,要记住的另一个重要警告是,这会将您的文档上载到第三方服务器。如果这是不可接受的,则此显示方法不是正确的操作方法。

现场示例:

Google文件检视器

Microsoft Office查看器

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

我的建议是在Google上使用MS Office预览URL。

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

似乎有些js库可以处理.docx(不是.doc)到html转换客户端(没有特定顺序):

注意:如果您正在寻找在客户端转换doc / docx文件的最佳方法,那么答案可能是不这样做如果您确实需要这样做,则可以在服务器端进行操作,即在无头模式下使用libreofficeapache-poi(java)pandoc或其他最适合您的库。

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 是文件要嵌入的路径

我想我有个主意。这也一直困扰着我,但仍然无法在Chrome中显示它。

用文字将文档(name.docx)保存为单个文件网页(name.mht)在HTML中使用

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

根据需要更改高度和宽度。

本机文档(我很感兴趣)使查看器(和编辑器)专门用于Word文档(旧式二进制.doc和现代docx格式)。这样做不会有损转换为HTML。这是开始使用的方法https://github.com/NativeDocuments/nd-WordFileEditor/blob/master/README.md

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

如果要预处理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"

这将删除对Google&Microsoft服务的所有运行时依赖项(例如,如果它们已关闭,或者您受到它们的速率限制)。

它还具有一个好处,您可以根据需要扩展到其他文件类型(PPTX,XLS,DOC等)

You can also use some existing API's like GroupDocs.Viewer which can convert your document into image or html and then you will be able to display it in your own application.

Use Libre Office API
Here is an example

libreoffice --headless --convert-to html docx-file-path --outdir html-dir-path

本文地址:http://javascript.askforanswer.com/ruheshiyongjavascriptzailiulanqizhongchengxianwordwendang-doc-docx.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!