永中office在我的项目中主要的应用目的是在线预览office文件。
至于为啥不用微软,不知道是不是我的姿势不对,大佬也说在国内可能出现无法转换(误)。
复制代码

准备

永中office DCS文档

先进入官网,我需要的office在线预览功能在永中的DCS文档。**这里我就不得不吐槽了,作为和罗老师(罗永浩)一起研发下一代智能语音控制的坚果office的合作厂商,这文档写的太不明确了吧。**
复制代码

确定项目方案

永中这边提供的文件预览方式有两种:
1. 给永中的服务一个office文件的下载链接,永中服务器下载文件转换预览后给你一个网页地址。- 预览的用户需要上外网(由于我是做oa的,客户还真的不一定有外网)- 你的服务站点必须要在公网环境(oa的也真的不一定),要能被永中服务器下载到。
2. 给永中的服务上传一个office文件,返回一个网页地址。- 预览的用户需要上外网- 你的服务站点必须能上传文件到外网由于我是开发oa系统的选手,选择了限制条件较少的2方式。
复制代码

调用接口

忍不住再吐槽一遍,官网文档的调用示例是不知道从哪里抄来的一段php上传文件的代码,我认为是非常不明确的,因此我对照了kodexplorer里的方法来编写,这里感谢一下这些可爱的开源工作者。
复制代码

下载链接方式(1)

这个方法只是一个简单的http请求,直接上示例就好。
复制代码
<?php
$url = "http://dcs.yozosoft.com/onlinefile";
$uri = "http://dcs.yozosoft.com/example/doc/doctest.docx";
$response = onlinefile($url, $uri);
echo $response;function onlineFile($url, $uri)
{$data = array('downloadUrl' => $uri, 'convertType' => '1');$data = http_build_query($data);$params = array('http' => array('method' => 'POST','content' => $data,'header' => "Content-type:application/x-www-form-urlencoded"));$ctx = stream_context_create($params);$fp = file_get_contents($url, false, $ctx);if (!$fp) {return false;}return $fp;}
复制代码

结果:

{"result": 0,"data": ["http://dcs.yozosoft.com:8000/2018/11/14/MTgxMTE0ODM0Njc1MjMy.html"],"message": "转换成功","type": 1
}
复制代码

上传文件方式

这个方式也很简单,其实把参数明确就没有那么多弯路要走,再次吐槽官方文档上的示例。
复制代码
$url = "http://www.yozodcs.com/upload";
$response = uploadFile($url, './1.xls');
echo $response;function uploadFile($url, $filePath)
{$filePathInfo = pathinfo($filePath);$post = array("convertType" => 1);$mime = 'application/vnd.ms-excel';if (@class_exists('\CURLFile')) {$post['file'] = new CURLFile($filePath, $mime, $filePathInfo['filename']);} else {$post['file'] = "@" . $filePath . ";type=" . $mime . ";filename=" . $filePathInfo['filename'];}$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $post);$result = curl_exec($ch);curl_close($ch);if (!empty($result)) {return $result;}return false;
}
复制代码

结果:

{"result": 0,"data": ["http://dcs.yozosoft.com:8000/2018/11/14/MTgxMTE0ODM0Njc1MjMy.html"],"message": "转换成功","type": 1
}
复制代码

总结

永中office预览还是挺好用的,但是并不是完全适合用于所有场景,毕竟很多office文件都是内部文件,可能有关单位会比较在意这些。 多学多看多练,这里是刘子沐,我们下期,再见(还不知道有没有下期)。

刘子沐的博客

php 永中office在线预览相关推荐

  1. office 在线预览

    office 在线预览 永中office dcs xdocin Spire系列 officeweb365 wps在线预览 idocv onlyoffice office online serve nt ...

  2. office在线预览哪家强?不能播放ppt动画,不能监听翻页?

    前言 众所周知,word.excel.ppt 和 pdf 文件在线预览有很多解决方案,但大多无法播放 ppt 动画,或者功能非常单一.这不,最近产品经理闭关修炼三天,提出了如下需求: 监听文档翻页,根 ...

  3. office转pdf实现office在线预览(aspose)

    office转pdf实现office在线预览(aspose) 1. jar包地址 2. 将jar包安装到本地 3. pom文件添加依赖 4. license.xml ① license.xml存放路径 ...

  4. office在线预览 word在线预览 .net在线预览 文件在线浏览接口

    office在线预览 word在线预览 excel在线预览 文件浏览接口服务 支持移动端浏览,只要能使用浏览器上网都可以使用,不需要安装任何第三方工具. 1.word在线预览 excel在线预览,.n ...

  5. Office在线预览及PDF在线预览的实现方式大集合

    一.服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览 微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免 ...

  6. Office在线预览及PDF在线预览的实现方式

    原文链接:http://www.officeweb365.com/officetoview.html 一.服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览 微软方:利用Office ...

  7. Office在线预览—PPT专场

    前言 当下是一个软件.小程序.APP等遍地的时代,互联网已经深入到我们工作.生活的方方面面.只要是企业,总有移动办公需求,出差在外,不方便电脑端查看,文件太大,担心手机内存等. 在线预览可以让我们不经 ...

  8. 【玩转云函数】腾讯云云函数结合金山文档打造轻量级 Office 在线预览服务

    以下内容来自「玩转腾讯云」用户原创文章,已获得授权. 本文介绍下如何使用云函数来实现 Office 办公文件的预览 01. 前言 曾几何时,文档预览曾经很麻烦,小公司需要购买服务器,自行搭建文件服务器 ...

  9. 服务器系统安装office注意,Office在线预览服务OfficeOnlineServer2017(OOS)安装及常见问题...

    服务器需求:Windows Server 2016 R2 或更高,需要两台,一台做域控服务器,一台主服务器 配置要求:域控服务器随意,主服务器最低8G内存,4核CPU,这个配置经常吃满,有条件的越高越 ...

最新文章

  1. mysqlsql怎么比较当前月与去年的这个月的同比_多数房企前10月业绩稳步增长 这12家企业为何“负增长”?...
  2. 聊聊Elasticsearch的TimedRunnable
  3. springcloud微服务多节点高性能、高可用、高并发部署
  4. QQ浏览噐怎么拍照识题 QQ浏览器拍照识题教程介绍说明
  5. 常用技术指标与四大交易理论
  6. 推荐个51CTO家园的活动哈
  7. day12-html(css)
  8. JavaSE基础——数组概述和定义格式说明
  9. Floyd算法(matlab实现)
  10. Java 中国大陆身份证处理
  11. python汇率转换
  12. 未来计算机教师职业愿景展望,教师愿景与职业规划
  13. 分析一个游戏脚本框架
  14. 篮球赛日程表_横县校椅青桐2019春节篮球赛火热开赛!快收好赛程表!
  15. 《C++程序设计实践》实验3
  16. web客户端页面连接MQTT服务
  17. 分享134个ASP源码,总有一款适合您
  18. 淘宝要社交:改变买家购买方式 取消商品排名(转载)
  19. 2022考研真题+汤家凤网课视频。祝2022考研朋友顺利上岸!
  20. 【Android取证篇】Android设备USB调试打开方式(开发者模式)

热门文章

  1. 来自一个初试自动化测试对自动化测试技术的理解与拙见
  2. 51单片机开发出问题
  3. CURE算法和Matlab实现
  4. [转] Typora_Markdown_图片标题(题注)
  5. 直播星第二轮招标湖南国科成为大赢家
  6. 中国女足夺得亚洲杯的冠军
  7. 【LinuxOS】学习busybox
  8. 刘文娟 计算机教育 河南大学,刘文娟 - 济南大学 - 教育与心理科学学院
  9. Centos安装Python3,yum4, dnf, neofetch
  10. 【概率论基础进阶】随机事件和概率-随机事件、事件间的关系与运算