JavaScript实现WordExcelPPT在线预览

Posted A_山水子农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript实现WordExcelPPT在线预览相关的知识,希望对你有一定的参考价值。

  在项目中前端需要根据后台返回的文件地址实现在线预览,图片、视频、pdf等格式的文件用

window.open(url)

window.location.href=url

能够实现在线预览,但Word、Excel、PPT文档用同样的方式打开则是默认下载。

  微软office online提供了接口来实现Word、Excel、PPT文档在线预览:

http://view.officeapps.live.com/op/view.aspx?src=<Document Location>

查看文档地址Office Web Viewer: View Office documents in a browser。实现在线预览的前提是预览资源必须是公共可访问的,通过联机查看 Office 文档可以测试文件是否可以在线预览。

/**
 * @description [viewFile 查看文件]
 * @author  ZouMiao
 * @param String url [文件地址]
 * @returns Null [没有返回]
 */
export const viewFile = function (url) 
  let onlineViewType = ['doc', 'docx', 'xls', 'xlsx', 'xlsm', 'ppt', 'pptx']
  let fileTypeName = url.substring(url.lastIndexOf('.') + 1, url.length).split('?')[0]
  let isWord = onlineViewType.find((type) => type === fileTypeName)
  if (isWord) 
    url = 'http://view.officeapps.live.com/op/view.aspx?src=' + url
  
  window.open(url, '_blank')


  在项目中使用在线预览有时报File too large,The file specified is larger than what the Office Online Viewers are configured to support.Reduce the size of the file to view it online.

File too large Error: The file specified is larger than what the Office Online Viewers are configured to support. Reduce the size of the file to view it online.

Office Online产品团队的Ryan回复

The document is too large. Word and PowerPoint documents must be less than 10 megabytes; Excel must be less than five megabytes.

  所以使用Office Online必须注意Word、PPT文件不能大于10M,Excel文件不能大于5M。

以上是关于JavaScript实现WordExcelPPT在线预览的主要内容,如果未能解决你的问题,请参考以下文章

解决wordexcelppt文件图标是空白的问题

wordexcelppt转PDF文件

Android实战开发篇 解析读取复杂WordExcelPPT

45个WordExcelPPT快捷键汇总!

Java使用Jacob将WordExcelPPT转化成PDF

终极大招,Office三件套(WordExcelPPT)转PDF教程