Подтвердить что ты не робот

Winforms html editor

Кто-нибудь знает хороший бесплатный редактор html winforms для .NET. В идеале я бы хотел html и режимы предварительного просмотра наряду с возможностью экспорта в pdf, word doc или аналогичный.

Хотя экспорт я мог бы, вероятно, создать себя из вывода html.

Еще одна приятная особенность - это вставка из слова, которая удаляет все лишние теги, которые вы обычно заканчиваете, но опять же приятно, что не требуется.

4b9b3361

Ответ 1

Вы можете использовать элемент управления WebBrowser в режиме разработки со вторым набором элементов управления WebBrowser в режиме просмотра.

Чтобы установить элемент управления WebBrowser в режиме разработки, вы можете использовать следующий код.

Этот код является сверхразделенной версией редактора WYSIWYG для одного из наших программных продуктов.

Просто создайте новую форму, опустите на нее элемент управления WebBrowser и поместите это в form_load

Me.WebBrowser1.Navigate("about:blank")
Application.DoEvents()
Me.WebBrowser1.Document.OpenNew(False).Write("<html><body><div id=""editable"">Edit this text</div></body></html>")

'turns off document body editing
For Each el As HtmlElement In Me.WebBrowser1.Document.All
    el.SetAttribute("unselectable", "on")
    el.SetAttribute("contenteditable", "false")
Next

'turns on editable div editing
With Me.WebBrowser1.Document.Body.All("editable")
    .SetAttribute("width", Me.Width & "px")
    .SetAttribute("height", "100%")
    .SetAttribute("contenteditable", "true")
End With

'turns on edit mode
Me.WebBrowser1.ActiveXInstance.Document.DesignMode = "On"
'stops right click->Browse View
Me.WebBrowser1.IsWebBrowserContextMenuEnabled = False

Ответ 2

Я рассматриваю возможность использования Writer Lutz Roeder (славы Reflector). Основной редактор Html, полностью написанный на С#, предоставляется как есть с исходным кодом. Ищите его на http://www.lutzroeder.com/dotnet/

Ответ 3

//CODE in C#
webBrowser1.Navigate("about:blank");
Application.DoEvents();
webBrowser1.Document.OpenNew(false).Write("<html><body><div id=\"editable\">Edit this text</div></body></html>"); 

foreach (HtmlElement el in webBrowser1.Document.All)
{
    el.SetAttribute("unselectable", "on");
    el.SetAttribute("contenteditable", "false");
}

webBrowser1.Document.Body.SetAttribute("width", this.Width.ToString() + "px");    
webBrowser1.Document.Body.SetAttribute("height", "100%");     
webBrowser1.Document.Body.SetAttribute("contenteditable", "true");
webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue(webBrowser1.Document.DomDocument, "On", null);
webBrowser1.IsWebBrowserContextMenuEnabled = false;

Ответ 4

SpiceLogic.NET Win HTML Editor Control, а не бесплатно, но он охватывает все, что вы ищете. Особенно, функция Вставить из MS word действительно эффективна. Нажатие этой кнопки MS Word Paste вставляет содержимое из буфера обмена в редактор и очищает теги, специфичные для слов ms, и генерирует чистый XHTML. Если MS Word содержит некоторые изображения, этот редактор также будет обнаруживать эти изображения, а выходной XHTML будет содержать тег изображения с правильными путями для этих изображений.

https://www.spicelogic.com/Products/NET-Win-HTML-Editor-Control-8

enter image description here

Ответ 5

см. http://www.maconstateit.net/tutorials/JSDHTML/JSDHTML12/jsdhtml12-02.htm для образца HTML edtior, который использует редактирование surport в IE.

http://www.mozilla.org/editor/midasdemo/ и http://starkravingfinkle.org/blog/wp-content/uploads/2007/07/contenteditable.htm также работает в IE и дает примеры того, как делать панель инструментов, шрифты, жирный шрифт, курсив и т.д.


Посмотрите на эти вопросы для моего опыта, когда я попытался сделать что-то вроде этого.

У меня также было много другой проблемы, в том числе нужно написать логику изменения размера в jscript, чтобы получить размер редактора HTML, а также форму WinForm и передать цвета формы /coontrol по умолчанию в HTML-редактор, чтобы он выглядел затем пользователи изменили цветовые схемы в Windows.

Поэтому, если мне нужно сделать это снова, я бы использовал сторонний редактор HTML (бесплатный или платный)