none
Работаем с RTF RRS feed

  • Вопрос

  • Здравствуйте уважаемые форумчане!

    Давненько меня небыло =)

    Вот вопросец, их собстно 3 но 3 отдельные темы создавать не буду (с дозволения модераторов) т.к. вопросы  очень близки по своей сущности.

    1. Как можно скомпоновать в памяти (переменной) документ RTF (из набора строк - форматирование, шрифты, выравнивание) для последующего экспорта (записи) в файл *.rtf (*.doc).

    2. Как произвести печать (с выводом диалога выбора параметров принтера) "виртуального документа" созданного в п.1.

    3. Как произвести замену в тексте RTF документа (например "[Full Name]" меняем на "Иванов Иван Иванович"; "[Birth Day]" меняем на 01 января 1981) с сохранением форматирования текста.  (Сочиняю а-ля легкоредактируемый шаблон).

    Может быть если реализация "в лоб" сложна есть обходные пути?

    Замысел следующий из базы "вытаскиваем" данные (преимущественно строки). Практично преподнести пользователю (таблички, списки, картинки) я сумел, а с вышеуказанными вопросами возникли проблемы.


    [URL=http://www.speedtest.net][IMG]http://www.speedtest.net/result/1458412496.png[/IMG][/URL]
    6 октября 2011 г. 11:32

Ответы

  • 1. Если не охота вручную работать с форматом rtf, то можно воспользоваться сторонней библиотекой. Например, NRTFTree. Или любой другой, google it.

    Сохранять rtf в файл можно всё же из RichTextBox'а - вовсе не обязательно размещать его на форме, достаточно просто создать, и воспользоваться методом SaveFile.

    2. Getting WYSIWYG Print Results from a .NET RichTextBox - оно? Как я уже упомянул, RichTextBox достаточно создать, но на форме не размещать.

    3. String.Replace. В чём проблема? Только, делать это в "сыром" тексте.

    А ещё можно посмотреть в сторону Text Object Model. Мне доводилось использовать его, когда не хватало функциональности стандартного RichTextBox в WinForms, в частности, для быстрого выделения и изменения параметров кусков текста.

    • Помечено в качестве ответа Abolmasov Dmitry 7 октября 2011 г. 7:23
    6 октября 2011 г. 18:21

Все ответы

  • WinForms или WPF?
     
     
    6 октября 2011 г. 11:56
    Модератор
  • WinForms (извините забыл упомянуть).

    .NET FW 4; VS2010


    [URL=http://www.speedtest.net][IMG]http://www.speedtest.net/result/1458412496.png[/IMG][/URL]
    • Изменено JusteG 6 октября 2011 г. 12:05
    6 октября 2011 г. 12:04
  • Отображай текст в RichTextBox'е. У него есть свойство RTF.
     
     
    6 октября 2011 г. 12:13
    Модератор
  • Знаю этот способ, не подходит, в приложении не предусмотрен RTB, кроме того вопрос 2 и 3 этим методом не решишь.
    [URL=http://www.speedtest.net][IMG]http://www.speedtest.net/result/1458412496.png[/IMG][/URL]
    6 октября 2011 г. 12:24
  • 1. Если не охота вручную работать с форматом rtf, то можно воспользоваться сторонней библиотекой. Например, NRTFTree. Или любой другой, google it.

    Сохранять rtf в файл можно всё же из RichTextBox'а - вовсе не обязательно размещать его на форме, достаточно просто создать, и воспользоваться методом SaveFile.

    2. Getting WYSIWYG Print Results from a .NET RichTextBox - оно? Как я уже упомянул, RichTextBox достаточно создать, но на форме не размещать.

    3. String.Replace. В чём проблема? Только, делать это в "сыром" тексте.

    А ещё можно посмотреть в сторону Text Object Model. Мне доводилось использовать его, когда не хватало функциональности стандартного RichTextBox в WinForms, в частности, для быстрого выделения и изменения параметров кусков текста.

    • Помечено в качестве ответа Abolmasov Dmitry 7 октября 2011 г. 7:23
    6 октября 2011 г. 18:21