拆分分页显示的长文本

时间:2017-06-08 08:57:56

标签: java angularjs text split display

我正在为一位正在写小说的朋友建立一个网站,并希望逐页地以书本形式显示,并翻页。

我在Angular 2中有一个前端应用程序,在Java中有一个后端(因为它们是我更熟悉的工具)。 Angular应用程序的后台允许用户添加章节的文本,该章节发送到后端以存储在DB中。然后Angular的前面调用后端来检索章节,并且必须在类似书的显示中显示它。

我的问题是如何将章节文本拆分成页面才能显示。我可以更改后台以强制用户逐页添加文本。我可以要求用户在文本中放置一个特定的标记来指示分页符。但我觉得这个过程对用户来说尽可能透明。

所以我通过在后端分割文本来寻求解决方案。我估计了一行上有多少个字符,以及页面上有多少行,然后我相应地剪切了文本(进行了一些调整,因为它是一个带有标签的HTML文本)。 但感觉就像一种非常严格的方法,因为我选择的是页面的大小,而不管显示界面的大小。

所以我想知道是否有更好的方法: - 一种不同的分裂算法 - 工具正面显示我的文本而不分割它 - 别的什么

有人不得不面对类似的问题吗?

由于

1 个答案:

答案 0 :(得分:1)

您正在服务器端执行不感知页面长度的操作。

我认为更好的方法是从后端到前端获得完整的章节;并有一个前端函数,将计算: - 基于页面大小的每行字符数 - 基于页面大小的行数 - 基于先前信息的章节页数

这是一种比完整后端更好的方法。

然而;这不是一种反应灵敏的方法。

您是否有兴趣和需要??

如果是;您可以在页面长度/高度上添加一个手表来重新计算上述值并重新生成页面