在CKEditor中输入分页符

Sam*_*lly 3 page-break ckeditor 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>
Run Code Online (Sandbox Code Playgroud)

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

什么确实在Word中的工作是:

<br> <br style="page-break-after: always;" />
Run Code Online (Sandbox Code Playgroud)

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

是否可以将CKEditor更改为使用分页符按钮放入Word可以识别的代码,还是应该考虑其他解决方案?

mat*_*tti 7

我已经为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'
        });
    }
});
Run Code Online (Sandbox Code Playgroud)