我已经成功地完成了在浏览器中显示PDF文件而不是“打开/保存”对话框的代码。现在,我不得不尝试在浏览器中显示Word文档。我想在Firefox, IE7+, Chrome等浏览器中显示Word文档。
有人能帮忙吗?在浏览器中显示Word文档时,我总是会弹出“打开/保存”对话框。我想使用JavaScript实现这个功能。
我已经成功地完成了在浏览器中显示PDF文件而不是“打开/保存”对话框的代码。现在,我不得不尝试在浏览器中显示Word文档。我想在Firefox, IE7+, Chrome等浏览器中显示Word文档。
有人能帮忙吗?在浏览器中显示Word文档时,我总是会弹出“打开/保存”对话框。我想使用JavaScript实现这个功能。
当前回答
如果您想对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等)
其他回答
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等)
有一些JS库可以在客户端处理。docx(不是。doc)到HTML的转换(没有特定的顺序):
https://github.com/lalalic/docx2html (npm) - docx到html,支持大多数元素,在浏览器或nodejs中工作 https://github.com/mwilliamson/mammoth.js -支持标题,列表,表格,尾注,脚注,图像和文本框 https://github.com/artburkart/docx2html -显然,在浏览器中工作
注意:如果您正在寻找在客户端转换doc/docx文件的最佳方法,那么答案可能是不要这样做。如果你真的需要这样做,那么就在服务器端进行,即在headless模式下使用libreoffice, apache-poi (java), pandoc等。
你也可以使用一些现有的API,比如GroupDocs。查看器,可以将您的文档转换为图像或html,然后您将能够在自己的应用程序中显示它。
使用Libre Office API 这里有一个例子
Libreoffice——headless——convert-to HTML docx-file-path——outdir HTML -dir-path