若不使用第三方的软件,类如卓正公司的PageOffice等专业工具,要想实现在自己平台上word,excel,ppt,pdf等格式的在线预览。推荐使用一些方法。
1.Excel
引用第三方的平台,通过调用地址,传入地址的方式来预览文件。
预览方式:https://view.officeapps.live.com/op/view.aspx?src="一个url地址"
在项目中可使用iframe框来加载。
$url = "http://storage.xuetangx.com/public_assets/xuetangx/PDF/1.xls";
$html .= "<iframe src='https://view.officeapps.live.com/op/view.aspx?src=$url' width=\"100%\" height=\"100%\" frameborder='1'></iframe>";
效果预览
word也可以使用上面的方式,但是对格式要求很严格。下面讲一个另一个平台的使用方法。
2.word,ppt在线预览
预览方式:https://api.idocv.com/view/url?url="url地址"
同样,可使用iframe框加载
word 格式
$url = "http://148.70.56.74/test.doc";
$html .= "<iframe src='https://api.idocv.com/view/url?url=$url' width=\"100%\" height=\"100%\" frameborder='1'></iframe>";
预览效果:
ppt格式
$url = "http://148.70.56.74/222.pptx";
$html .= "<iframe src='https://api.idocv.com/view/url?url=$url' width=\"100%\" height=\"100%\" frameborder='1'></iframe>";
预览效果:
ppt好像只有一个小时的试用期,要长久使用的话要购买。。。
3.pdf在线预览
需要引入pdf.js 地址
下载地址: http://148.70.56.74/pdf.js地址服务器已经到期,等新服务器买了后再放上去吧......
将js引入之后,页面上只需要几行代码搞定。
html
<div id="viewpdf"></div>
js ex:pdf 文件名字支持中文
// 文件路径
var url = 'http://148.70.56.74/群管理秘籍.pdf';
var options = {
height: "550px",
pdfOpenParams: {view: 'FitV', page: '0' },
ame:"mans",
fallbackLink: "<p>您的浏览器暂不支持此pdf,请下载最新的浏览器</p>"
};
// 读取文件地址
PDFObject.embed(url, "#viewpdf",options)
预览效果:
PHP代码,可以参考一下
public function ViewDocument ($type){
$type = $_GET['type'] ? $_GET['type'] : "word";
$html = "";
switch ($type){
// 调用微软office平台 将抵制放到iframe框中预览 文件地址可以是在
case "xls":
//$url = "http://148.70.56.74/cjxq.xls";
$url = "http://storage.xuetangx.com/public_assets/xuetangx/PDF/1.xls";
$html .= "<iframe src='https://view.officeapps.live.com/op/view.aspx?src=$url' width=\"100%\" height=\"100%\" frameborder='1'>
</iframe>";
break;
case "word":
$url = "http://148.70.56.74/test.doc";
$html .= "<iframe src='https://api.idocv.com/view/url?url=$url' width=\"100%\" height=\"100%\" frameborder='1'>
</iframe>";
break;
case "ppt":
$url = "http://148.70.56.74/test.pptx";
$html .= "<iframe src='https://api.idocv.com/view/url?url=$url' width=\"100%\" height=\"100%\" frameborder='1'>
</iframe>";
break;
case "pdf":
$html = '<div id="viewpdf"></div>';
break;
default:
$html = '';
break;
}
$this->view->assign("html",$html);
$this->view->display('zrk/viewdoc');
}