Динамически вставить разрыв страницы - PullRequest
10 голосов
/ 06 декабря 2011

Моя команда работает в проекте с использованием asp.net mvc3 (c #). Исходя из требований проекта, нам нужно реализовать разрыв страницы, как Microsoft Word. Мне нужно сохранить разрыв страницы, и размер страницы может быть a4, буквенный, юридический и т. Д.

Можно ли контролировать размер страницы содержимого в ckeditor и вставлять разрывы страниц, отображаемые в редакторе, когда он пересекает определенную высоту или размер, так же, как это работает в MS Word>

Есть ли альтернативное решение?

Ответы [ 3 ]

7 голосов
/ 15 декабря 2011

Альтернативное решение, которое я нашел после поиска в Google для решения разрыва страницы, используя RichTextBoxSilverlight

некоторые функции

  • RichTextBox полностью поддерживает подкачку ипечать.Вы можете редактировать документы в макете печати или в режиме черновика;очень похоже на Microsoft Word.Макет печати поддерживает непрерывный поток страниц при прокрутке и даже поддерживает горизонтальное отображение нескольких страниц.

  • RichTextBox поддерживает импорт и экспорт RTF, Html и простого текста.Загрузите существующий форматированный текст или Html в элемент управления C1RichTextBox, отредактируйте документ, а затем экспортируйте его обратно в RTF или Html.

  • Редактируйте и форматируйте текст, содержащий несколько шрифтов, оформлений, цветов, таблиц, изображения, списки и т. д.

  • RichTextBoxToolbar включает в себя следующие команды: Вставить, Вырезать, Копировать, Отменить, Повторить, Семейство шрифтов, Размер шрифта, Увеличить шрифт, Уменьшить шрифт, Полужирный,Курсив, Подчеркнуть, Изменить регистр, Подстрочный индекс, Верхний индекс, Цвет текста, Цвет выделения текста, Выровнять по левому краю, Выровнять по центру, Выровнять по правому краю, Выделить, Пули, Нумерация, Обтекание текста, Толщина границы, Цвет границы, Цвет абзаца, Поля, Заполнение, ВставитьИзображение, Вставить символ, Вставить гиперссылку, Удалить гиперссылку, Найти и заменить, Проверка орфографии и дополнительные команды для вставки / редактирования таблиц.

  • RichTextBox для вставки и редактирования изображений.Пользователи могут легко загружать изображения со своего компьютера в редактор или указывать URL-адрес изображения в Интернете.Пользователи также могут выбирать, изменять размер и перетаскивать изображения на поверхность документа.

  • RichTextBox поддерживает масштабирование страниц как в макете печати, так и в черновом режиме.

  • Содержимое RichTextBox можно экспортировать в формат PDF.

  • Редактируйте данные в RichTextBox с уверенностью.Теперь у вас есть возможность легко отменить и повторить ваши изменения одним нажатием кнопки.

5 голосов
/ 06 декабря 2011

Как говорит graphicdivine, используйте 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 таким образом без хлопот.

0 голосов
/ 06 декабря 2011

Вы можете попробовать использовать CSS2 page-break-before и page-break-after, хотя как и где вы их динамически вставляете, это другой вопрос.

...