问题 动态插入Pagebreak


我的团队使用asp.net mvc3(c#)在一个项目中工作。根据项目要求,我们需要像Microsoft Word一样实现分页功能。我需要保存分页符,页面大小可能是a4,letter,legal等。

是否可以控制ckeditor中内容的页面大小,并在编辑器内部超过某个高度或大小时插入分页符,就像它在MS Word中的工作方式一样>

有没有替代解决方案?


6578
2017-12-06 06:58


起源

您以哪种格式保存CKEditor内容?根据我的理解,HTML不支持分页符,所以除非你在word格式,pdf或其他支持分页符的格式中进行一些保存,否则你没办法,看看RTF规范: biblioscape.com/rtf15_spec.htm - Davide Piras


答案:


我通过使用搜索谷歌解决分页后找到的替代解决方案 RichTextBoxSilverlight

一些功能

  • RichTextBox完全支持分页和打印。你可以编辑 打印布局或草稿视图中的文档;很像微软 字。打印布局支持滚动时的连续页面流 甚至支持水平面对多个页面。

  • RichTextBox支持导入和导出RTF,Html和plain 文本。将现有的富文本或Html加载到C1RichTextBox控件中, 编辑文档,然后将其导出回RTF或Html。

  • 编辑和格式化包含多种字体,装饰,颜色的文本, 表格,图像,列表等。

  • RichTextBoxToolbar包括以下命令:粘贴,剪切,复制, 撤消,重做,字体系列,字体大小,增长字体,缩小字体,粗体, 斜体,下划线,更改案例,下标,上标,文字颜色, 文字突出显示颜色,左对齐,对齐中心,右对齐,对齐, 子弹,编号,文字环绕,边框厚度,边框颜色, 段落颜色,边距,填充,插入图像,插入符号,插入 超链接,删除超链接,查找和替换,拼写检查,和 用于插入/编辑表的附加命令。

  • RichTextBox用于插入和编辑图像。用户可以轻松上传 从他们的计算机到编辑器的图像或指向图像的URL 在网上。用户还可以在文档表面上选择,调整大小和拖动图像。

  • RichTextBox支持打印布局和草稿中的页面缩放 观点。

  • RichTextBox内容可以导出为PDF格式。

  • 自信地编辑RichTextBox中的数据。你现在有了 只需点击一下即可轻松撤消和重做您的更改 按钮。


7
2017-12-06 09:33





就像graphicdivine所说,使用print CSS来完成你需要做的事情。创建一个具有的css类 page-break-before 定义,并在中断后动态地将该类添加到页面的第一个元素。

你也可以这样做:

br.pageBreak {
    page-break-after: always;
}

然后插入一个 <br class="pageBreak" /> 在你需要分页的地方。

更多信息:

页游: http://www.w3.org/TR/css-print/#s.8.2

页面大小: http://www.w3.org/TR/css-print/#s.8.3

旧的A List Apart文章: http://www.alistapart.com/articles/goingtoprint/

不幸的是,我不知道是否有可能以这种方式改变CKEditor而不会有麻烦。


5
2017-12-06 09:04



CKEditor已经有一个按钮,插入<div style =“page-break-after:always;”> <span style =“display:none;”>&nbsp; </ span> </ div>但是我怀疑这是什么他要。 - AlfonsoML
我需要动态实现分页符,而不是单击编辑器中的按钮 - amexn
据我所知,atornblad的解决方案与HTML一样好。分页符是HTML中的一个巨大的PITA,但这个解决方案确实有效。问题是......您的用户可以在打印前告诉您他们想要页面的大小(例如A4等),如果是这样,那么您就有了可行的解决方案。如果你事先不知道,那你就不走运了。 - Paul Prewett


您可以尝试使用CSS2 page-break-beforepage-break-after,虽然你动态插入它们的方式和位置是另一回事。


1