如何将WORD公式粘贴到SITEFACTORY里面

给客户做的一个网站,用的动易SiteFactory,用户是一个学校的,现在需要支持在SiteFactory中粘贴WORD公式,公式都是一些图片,粘贴后将公式图片自动上传到服务器中,然后在编辑器中显示图片。

动易SiteFactory编辑器是用的百度UE富文本编辑器-ueditor,研究了一下也就是需要为百度UE编辑器增加这个功能,决定以插件的方式来实现,在编辑器中单独增加一个插件来实现word公式粘贴。

插件下载:wordpaster-asp.net-SiteFactory4.7: 泽优Word一键粘贴控件(WordPaster)是由荆门泽优软件有限公司开发的一个支持多平台(Windows,macOS,Linux)的简化Word内容发布的组件。适用于政府门户,集约化平台,CMS,OA,博客,文档管理系统,微信公众号,微博,自媒体,传媒,在线教育等领域。主要帮助用户解决Word文档图片一键粘贴,PowerPoint一键导入,PDF一键导入的问题,微信公众号内容一键转发, - Gitee.com

WordPaster-CKEditor3.x示例

1.将WordPaster文件夹上传到服务器中

2.将ckeditor\plugins\excelpaster上传到Editor\plugins\

3.将ckeditor\plugins\imagepaster上传到Editor\plugins\

4.修改config.js文件,增加插件代码。

新增如下代码:

/*

Copyright (c) 2003-2011, CKSource – Frederico Knabben. All rights reserved.

For licensing, see LICENSE.html or [url]http://ckeditor.com/license[/url]

*/

CKEDITOR.editorConfig = function(config) {

// Define changes to default configuration here. For example:

// config.language = ‘fr’;

// config.uiColor = ‘#AADC6E’;

config.extraPlugins = ‘imagepaster,excelpaster’; //扩展插件-WordPaster

};

5.为ContentFull工具栏增加WordPaster插件图标

增加下图中红框中的代码。(说明:建议在ckeditor.js中搜索所有PasteFromWord按钮,然后在其右侧增加’imagepaster’粘贴按钮)

6.修改demo中的upload.aspx代码,将upload文件夹改为UploadFiles,这样做是与SiteFactory兼容。

重新编译upload.aspx,并将bin文件夹的CKEditor353.dll上传到服务器的bin文件夹中

7.将demo中的upload.aspx文件上传到服务器根目录。

6.修改Content.aspx文件,增加插件代码。

示例代码:

<link type=”text/css” rel=”Stylesheet” href=”/WordPaster/css/WordPaster.css”/>

<link type=”text/css” rel=”stylesheet” href=”/WordPaster/css/ui-lightness/jquery-ui-.custom.css” />

<script type=”text/javascript” src=”/WordPaster/js/jquery-ui-.custom.min.js”></script>

<script type=”text/javascript” src=”/WordPaster/js/WordPaster.js” charset=”utf-8″></script>

<script language=”JavaScript” type=”text/JavaScript”>

//WordPaster Begin

var pasterMgr = new PasterManager();

pasterMgr.Config[“PostUrl”] = “http://localhost:82/upload.aspx”; //将此地址换为实际服务器地址。

pasterMgr.Load();//加载控件

var edtInited = false;

CKEDITOR.on( ‘instanceReady’, function(evt) {

pasterMgr.Init(evt.editor);

} );

CKEDITOR.on( ‘currentInstance’, function() {

if(!edtInited)

{

pasterMgr.SetEditor(CKEDITOR.currentInstance);

edtInited = true;

}

} );

//WordPaster End;

整合后效果如下:

前台会员添加内容

1.为会员工具栏增加粘贴按钮

修改/Editor/ckeditor.js

搜索ContentSimple字符串并新增如下代码:

2.为会员页面增加控件

修改/User/Content/Content.aspx文件

新增如下代码:

<link type=”text/css” rel=”Stylesheet” href=”/WordPaster/css/WordPaster.css”/>

<link type=”text/css” rel=”stylesheet” href=”/WordPaster/css/ui-lightness/jquery-ui-.custom.css” />

<script type=”text/javascript” src=”/WordPaster/js/jquery-ui-.custom.min.js”></script>

<script type=”text/javascript” src=”/WordPaster/js/WordPaster.js” charset=”utf-8″></script>

<script language=”JavaScript” type=”text/JavaScript”>

<script language=”JavaScript” type=”text/JavaScript”>

//WordPaster Begin

var pasterMgr = new PasterManager();

pasterMgr.Config[“PostUrl”] = “http://localhost:82/upload.aspx”;//将此地址改为正式服务器地址。

pasterMgr.Load();//加载控件

var edtInited = false;

CKEDITOR.on( ‘instanceReady’, function(evt) {

pasterMgr.Init(evt.editor);

} );

CKEDITOR.on( ‘currentInstance’, function() {

if(!edtInited)

{

pasterMgr.SetEditor(CKEDITOR.currentInstance);

edtInited = true;

}

} );

//WordPaster End;

</script>

整合后效果如下:

常见问题:

1.为什么整合到项目中图片无法上传?

可能原因:可能上传页面有登陆验证,上传时没有添加SESSION信息,导致上传失败。可在上传页面增加SESSION参数。

  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值