Разделить строку HTML на страницу - PullRequest
0 голосов
/ 24 декабря 2010

В моем проекте asp.net мне нужно отобразить большие документы для пользователя.В документе Beacuse много текста, мне нужно использовать подкачку страниц.На каждой странице должно быть около 5000 символов.Я хочу разделить страницы по логическим токенам, таким как <br/> nbsp space.

Каков наилучший способ сделать это?

Ответы [ 4 ]

2 голосов
/ 24 декабря 2010

проще всего создать метод расширения для String

public static IEnumerable<string> GetPages(this string text, 
    int charsPerPage, string breakChar)
{
    int count = 0;
    int start = 0;
    while (count < text.Length)
    {
        count = Math.Min(text.Length, count + charsPerPage);
        if (count == text.Length)
        {
            yield return text.Substring(start, count - start);
        }
        else
        {
            var nextBreak = text.IndexOf(breakChar, count);
            if (nextBreak == -1)
            {
                yield return text.Substring(start, count - start);
                start = count + breakChar.Length;
            }
            else
            {
                yield return text.Substring(start, nextBreak - start);
                start = nextBreak + breakChar.Length;
            }
        }
    }
}

Это может работать не совсем так, как я не проверял это должным образом - но вы поняли

и вы можете использовать его вот так

var pages = text.GetPages(5000, "<br/>");
0 голосов
/ 24 декабря 2010

Страницы действительно не имеют смысла в HTML.Браузер может быть любым: от полноэкранного 27-дюймового дисплея с высоким разрешением до мобильного телефона (или даже старого 80x25-символьного дисплея). Один размер определенно не подходит для всех.форматирование страницы, тогда PDF - путь.

0 голосов
/ 24 декабря 2010

Вы можете найти разделитель HTML, например, по адресу http://splity.sourceforge.net/

0 голосов
/ 24 декабря 2010

Самый простой способ был бы, если бы каждая страница каждого документа была просто записью в базе данных с записью документа в качестве основной записи, чтобы хранить их вместе. Но, не зная структуры ваших документов, трудно сказать, сработает ли такая вещь. Итак, большие документы ... Что это? PFD файлы? Word документы? Что-то другое? Можете ли вы разделить их на страницы в какой-то структуре базы данных или нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...