innhyul

Between tomorrow's dream and yesterday's regret is todays opportunity.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

这是参照网上一些帖子弄出来的,有些帖子差了关键步骤,就调试不出来,本人虽然是菜鸟级别,但耐心的一步步修改,最终不小心也弄出来了,高兴啊!

这里Fckeditor用的是FCKeditor.Net_2.6.3和FCKeditor_2.6.4.1

默认的Fckeditor具有从ms word粘贴的功能, 但是当你的word文档中包含图片的时候, 就会出现无法显示图片的错误,

在这里我们要实现直接导入word文档,如果其中包含图片,则自动分离图片并上传到服务器后在fckeditor中显示.(不过word文档大的时候导入有些慢)

1. 为fckeditor添加自定义按钮

需要修改的文件:

1. fckconfig.js

2. zh-cn.js

3. fckeditorcode_ie.js(gecko的差不多)

fckconfig.js: 添加导入word文档按钮

   找到这行中 FCKConfig.ToolbarSets["Default"] = [...

   'Paste','PasteText','PasteWord',在PasteWord后插入'ImportWord'.

zh-cn.js

设置上述按钮的中文说明

PasteWord    : "从 MS Word 粘贴",

ImportWord    : "导入Word文档",

fckeditorcode_ie.js 在按钮中显示按钮

找到

case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true,11);break;

这行,在其后加入

case 'ImportWord':B=new FCKToolbarButton('ImportWord',FCKLang.ImportWord,null,null,false,true,11);break; 为按钮加入功能

找到

case 'PasteWord':B=new FCKPasteWordCommand();break;

这行,在其后加入

case 'ImportWord':B=new FCKDialogCommand('ImportWord',FCKLang.ImportWord,'dialog/ImportWord/ImportWord.aspx',700,600);break;

这样就设置好了自定义按钮, 当用户点击这个按钮之后, 会自动弹出页面打开ImportWord.aspx这个文件.

剩余的就是.net的工作了, 这里提供一个文件夹下载.

http://download.csdn.net/source/1681907

里面包含Microsoft.Office.Interop.Word.dll 和ImportWord文件夹,ImportWord文件夹包含(ImportWord.aspx\ImportWord.aspx.cs).用法:在bin文件夹中引用Microsoft.Office.Interop.Word.dll .把ImportWord文件夹放入fckeditor\editor\dialog文件夹中,修改这里面的两个文件.

1\修改.cs文件:

             docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,

             null, doc, new object[] { saveFileName, WdSaveFormat.wdFormatFilteredHTML });

2\修改.aspx文件

             <script src="../common/fck_dialog_common.js" type="text/javascript"></script>

大功告成!

但自认为还是不太方便,继续研究中...

posted on 2009-12-16 17:11  bufferi  阅读(1364)  评论(2编辑  收藏  举报