我有一个ASP.NET MVC 4应用程序,它使用CKEditor控件(4.4.5)来捕获HTML,然后将其呈现给Word(docx)文档。
当我使用CKEditor“分页符”按钮时,它会产生
<div style="page-break-after: always"><span style="display: none;"> </span></div>
保留在编辑器的HTML中,但不会在Word中呈现。
在Word中的作用是:
<br> <br style="page-break-after: always;" />
但我发现每次在CKEditor框中保存数据时,我的CKEditor设置会将其删除。
我可以更改CKEditor以使用分页按钮放入Word识别的代码,还是应该考虑另一个选项来解决此问题?
答案 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'
});
}
});