yozoOffice_iframecontent.jsp 9.74 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.*"%>
<%@ page import="weaver.conn.*"%>
<%@ page import="java.util.UUID" %>
<%
	//服务地址
	String mHttpUrlName = request.getRequestURI();
	String mScriptName = request.getServletPath();
    String fileName = UUID.randomUUID().toString();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/";
	String saveUrl = basePath + "spa/odoc/yozoOffice/upload.jsp";

%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<style type="text/css">html,body{margin: 0;padding: 0;width: 100%;height: 100%;overflow: hidden;}</style>
		<script type="text/javascript" src="/cloudstore/resource/pc/jquery/jquery-1.8.3.min.js"></script>
		<script type="text/javascript" src="/spa/odoc/yozoOffice/js/yozoOffice.js"></script>
	</head>
	<body onload="initObject();load();">
		<div id="yozoDiv" align="right" style="width:100%; height:100%;position:absolute"></div>
	</body>
	<script language="javascript" type="text/javascript">

		//全局变量
        var obj;
        var app;
        //获取客户端操作系统
        var os="";

        var isOpen = false;

        //后缀名
        var suffix = ".doc";

        function load(){
            try{
                parent.onRequestDocLoad();
            }catch(e){

            }
        }

		//初始化插件
		function initObject() {
            if(isLinux()){
                InitFrame();
            }
            return true;
		}
        function initWebOffice(params) {

            setTimeout(
                function(){

                    try{

                        app = obj;
                        suffix = params.prop_fileType;
                        var filetype = params.prop_type;
                        var fileid = params.prop_fileId;
                        if(window.console)console.log("fileid" + fileid);
                        if(window.console)console.log("filetype" + filetype);
                        if(fileid && fileid > 0){
                            var url = downloadFile(filetype,fileid);
                            app.openDocumentRemote(url,false);
                            //开启修订
                            app.enableRevision(true);
                            //是否默认隐藏痕迹
                            if(params.prop_hideRevision && params.prop_hideRevision == "1"){
                                app.showRevision(2);
                            }else{
                                app.showRevision(0);
                            }
                        }else{
                            var a=app.createDocument("uot");
                            if(window.console)console.log("a" ,a);
                        }
                        if(params.prop_userName && params.prop_userName != ""){
                            app.setUserName(params.prop_userName);
                        }
                        var version = app.getPluginVersion();
                        if(window.console)console.log("version", version);
                        commandbar();
                        isOpen = true;
                    }catch(e){}

                },4000);
        }

        var count = 0 ;
        function InitFrame(){

            obj = init("yozoDiv", "100%", "900");
            window.onresize = function() {
                if(window.console){
                    console.log("onresize");
				}
				if(obj && obj.version){
                    obj.setZoomRadio(100);
				}
            };

        }
        /*
		* applet嵌入网页时需加载的方法
		*/
        function init(tagID,width,height){
            var iframe;
            iframe = document.getElementById(tagID);
            var codes=[];
            //codes.push("");
            codes.push("<embed id='webyozo_id' type='application/yozo-plugin' width='100%' height='100%'>");
            iframe.innerHTML = codes.join("");
            obj = document.getElementById("webyozo_id");
            return obj;
        }

        //保存文件到服务器
        function SaveDocument(params) {
            var fileName = '<%=fileName%>' + suffix;
            var rtn = app.saveURL('<%=saveUrl%>?docName='+ fileName,fileName);
            if(rtn){
                return fileName;
            }
        }

		//菜单工具栏
        function commandbar(){
            //app.setToolbarVisible("menu bar",false);


			// app.Refresh();
			// //var comms = obj.Application.CommandBars;
			// app.showCommandByName("Tools", 10, false);//隐藏【工具】-【修订】按钮
			// if(getVersion().substring(getVersion().length-4,getVersion().length)<4361){
			// 	var comms = app.CommandBars;
			// 	var comm = comms.GetCommandbar(29);
			// 	var comcons = comm.CommandbarControls;
			// 	var comcon = comcons.GetCommandbarcontrol(0);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(1);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(2);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(3);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(4);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(5);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(14);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.GetCommandbarcontrol(10);
			// 	comcon.put_Enabled(false);
			// }else{
			// 	var comms = app.CommandBars;
			// 	var comm = comms.get_Item(30);
			// 	var comcons = comm.Controls;
			// 	var comcon = comcons.get_Item(1);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(2);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(3);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(4);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(5);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(6);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(9);
			// 	comcon.put_Enabled(false);
			// 	comcon = comcons.get_Item(11);
			// 	comcon.put_Enabled(false);
			// }
        }

        //获取版本号
        function getVersion(){
            var ret = app.get_Build();
            return ret;
        }

		//套红
		function replaceDocField(params){
            var fileid = params.prop_fileId;

			var url = downloadFile('',fileid);

            //插入文档
            if(!app.insertDocument("Content", url)){
                alert("insert mainText error");
                return false;
            }
            //替换非正文公文域
            var bookmarkObj = params.prop_bookmarkObj;
            if(bookmarkObj) {
                for (var bookmarkName in bookmarkObj) {
                    if ("Content" != bookmarkName) {
                        var result = app.setDocumentField(bookmarkName, bookmarkObj[bookmarkName]);
                        if (!result) {
                            if(window.console){
                                window.console.log("replace Field error:"+bookmarkName);
                            }
                        }
                    }
                }
            }
		}

		//套红取消(重新套红)
        function reTemplate(params){
            //关闭当前文档
            app.close();
			var url = downloadFile(params.prop_type,params.prop_mouldId);
			//打开套红模板
            if(!app.openDocumentRemote(url, false)){
                alert("open showMould error");
                return false;
            }
            //套红
            replaceDocField(params);
        }

        //替换书签
        function replaceCustomField(params){
            //替换公文域
            var bookmarkObj = params.prop_bookmarkObj;
            if(bookmarkObj) {
                for (var bookmarkName in bookmarkObj) {
                    if ("Content" != bookmarkName) {
                        var result = app.setDocumentField(bookmarkName, bookmarkObj[bookmarkName]);
                        if (!result) {
                            if(window.console){
                                window.console.log("replace Field error:"+bookmarkName);
                            }
                        }
                    }
                }
            }
        }

        //使用新模板并替换书签
        function replaceFieldWithMould(params){
            //关闭当前文档
            app.close();
            var url = downloadFile(params.prop_type,params.prop_mouldId);
            //打开编辑模板
            if(!app.openDocumentRemote(url, false)){
                alert("open editMould error");
                return false;
            }
            //替换书签
            replaceCustomField(params);
		}

		//打印(不显示对话框)
		function WebOpenPrint(){
            app.print();
        }

        //全屏
        function docviewOfFullscreen(){
            app.setPluginFullScreen(true);
        }

        //显示或隐藏痕迹
        var revisionStatus = true;
        function showOrHideRevision(){
            if(revisionStatus){
                app.showRevision(2);
                revisionStatus = false;
            }else{
                app.showRevision(0);
                revisionStatus = true;
            }

        }

        //文件下载
		function downloadFile(filetype,id){
            var rtn;
            jQuery.ajax({
				url:'/spa/odoc/webwps/downloadAsFile.jsp',
                data:{
                    filetype:filetype,
				    fileid:id
				},
                type:'POST',
                dataType:'json',
                async:false,
                success:function(msg){
                    rtn = msg.fullName;
                }
			});
            return '<%=basePath%>'+rtn;
		}

		//清稿
		function acceptAll(){
            app.acceptAllChanges();
		}
	</script>
</html>