Динамическая вставка

Моя команда работает в проекте с использованием asp.net mvc3 (С#). Основываясь на требованиях к проекту, нам необходимо реализовать разрыв страницы, например, Microsoft Word. Мне нужно сохранить страницу, и размер страницы может быть a4, letter, legal и т.д.

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

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

Ответ 1

Альтернативное решение, которое я нашел после поиска в google для решения рассылки страницы с помощью RichTextBoxSilverlight

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

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

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

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

  • RichTextBoxToolbar включает в себя следующие команды: Вставить, Вырезать, Копировать, Undo, Redo, Font Family, Font Size, Grow Font, Shrink Font, Bold, Курсив, Подчеркивание, Случай изменения, Подстрочный текст, Надстрочный текст, Цвет текста, Текст выделяет цвет, выравнивает влево, выравнивает центр, выравнивает вправо, выравнивает, Пули, Нумерация, Обтекание текстом, Толщина границы, Цвет границы, Цвет абзаца, маржа, прокладка, вставка изображения, вставка символа, вставка Гиперссылка, удаление гиперссылки, поиск и замена, проверка орфографии и дополнительные команды для вставки/редактирования таблиц.

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

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

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

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

Ответ 2

Как и в графическом слове, используйте print CSS, чтобы выполнить то, что вам нужно сделать. Создайте класс css с определением page-break-before и динамически добавьте этот класс к первому элементу страницы после разрыва.

Вы также можете сделать что-то вроде этого:

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

а затем вставьте <br class="pageBreak" /> в том месте, где вам нужен разрыв страницы.

Дополнительная информация:

Page-breaks: 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 без проблем.

Ответ 3

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