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;"> </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可以识别的代码,还是应该考虑其他解决方案?
我已经为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)