在CKEditor中输入分页符

时间:2015-11-18 17:20:46

标签: ckeditor page-break ckeditor4.x

我有一个ASP.NET MVC 4应用程序,它使用CKEditor控件(4.4.5)来捕获HTML,然后将其呈现给Word(docx)文档。

当我使用CKEditor“分页符”按钮时,它会产生

<div style="page-break-after: always"><span style="display: none;">&nbsp;</span></div>

保留在编辑器的HTML中,但不会在Word中呈现。

在Word中的作用是:

<br> <br style="page-break-after: always;" />

但我发现每次在CKEditor框中保存数据时,我的CKEditor设置会将其删除。

我可以更改CKEditor以使用分页按钮放入Word识别的代码,还是应该考虑另一个选项来解决此问题?

1 个答案:

答案 0 :(得分:6)

我为版本4.x创建了这个小插件:

CKEDITOR.plugins.add('wordpagebreak', {
    icons : 'wordpagebreak',
    init : function(editor) {

        var pluginName = 'wordpagebreak';

        editor.addCommand(pluginName, {
            exec : function(editor) {
                var html = '<br class="wordpagebreak" clear="all" ' + 
                               'style="mso-special-character: line-break; ' +
                                      'page-break-before: always">';
                var element = CKEDITOR.dom.element.createFromHtml(html);
                editor.insertElement(element);
            }
        });

        editor.ui.addButton(pluginName, {
            label : 'Word Page Break',
            icon : 'wordpagebreak',
            command : pluginName,
            toolbar : 'insert'
        });
    }
});