Как программно сохранить .docx в .rtf?
От: mDmitriy Россия  
Дата: 13.10.15 16:28
Оценка:
Всем привет!

Subj, собственно...
Microsoft.Office.Inetrop.Word не подходит, хотя на уровне файлов там так можно.
Платные компоненты на эту тему есть, но это тоже не вариант.
OpenXml SDK вроде может хранить rtf-формат, но преобразовывать в/из .docx вроде не умеет.
В общем случае надо модифицировать загруженный произвольный файл (.rtf; .doc; .docx), показать его в RichTextView (или еще как-то) и сохранить в поток.
Приветствуются готовые решения, спасибо...
Re: Как программно сохранить .docx в .rtf?
От: aloch Россия  
Дата: 14.10.15 05:58
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Всем привет!


D>Платные компоненты на эту тему есть, но это тоже не вариант.


А прочему?


http://files.rsdn.org/1366/MCP(rgb).jpg
Re[2]: Как программно сохранить .docx в .rtf?
От: mDmitriy Россия  
Дата: 14.10.15 09:14
Оценка:
Здравствуйте, aloch, Вы писали:
D>>Платные компоненты на эту тему есть, но это тоже не вариант.
Потому что не наблюдаю желающих за них заплатить...
Re: Как программно сохранить .docx в .rtf?
От: Sinix  
Дата: 14.10.15 10:21
Оценка: 3 (1)
Здравствуйте, mDmitriy, Вы писали:

D>В общем случае надо модифицировать загруженный произвольный файл (.rtf; .doc; .docx), показать его в RichTextView (или еще как-то) и сохранить в поток.

D>Приветствуются готовые решения, спасибо...
Если коротко — никак. Особенно если нужен редактор в UI.

Бесплатно можно получить разве что preview handlers (ещё пример). Или редактирование rtf.
Ну и полусырые заготовки типа таких

Всё остальное, насколько знаю, платное. В районе $500-$800 и выше. Впрочем, за эту сумму лучше взять не один редактор, а комплект контролов целиком от devX/Telerik/кто_там_ещё.

Программное изменение документа — тож всё печально.
Точно работает OpenXML SDK, остальные или платные, или урезанные (например, в Spire.Doc — ограничение в 100 параграфов, в Gembox — 20). Или безымянные библиотеки типа https://www.nuget.org/packages/DocX_Doc/ — на свой страх и риск.
Re: Как программно сохранить .docx в .rtf?
От: BrainSlug Израиль  
Дата: 14.10.15 10:35
Оценка: 1 (1)
D>Платные компоненты на эту тему есть, но это тоже не вариант.
боюсь сложно найти приличное и готовое и неплатное. из платного есть еще aspose помимо вышеупомянутых.
D>В общем случае надо модифицировать загруженный произвольный файл (.rtf; .doc; .docx), показать его в RichTextView (или еще как-то) и сохранить в поток.
думаю, или еще как-то. (а годится ли RichTextView для произвольного файла doc, docx?)
попробуй покопать исходники onlyoffice (бывшиий teamlab). у них вроде есть собственный облачный офисный редактор похожий на офис. исходники емнип там открыты.
.
Re[3]: Как программно сохранить .docx в .rtf?
От: aloch Россия  
Дата: 14.10.15 11:21
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Здравствуйте, aloch, Вы писали:

D>>>Платные компоненты на эту тему есть, но это тоже не вариант.
D>Потому что не наблюдаю желающих за них заплатить...

Не понял? Производителям компонентов не платят? Или ты сам платить не хочешь? Или тебе не платят?


http://files.rsdn.org/1366/MCP(rgb).jpg
Re[4]: Как программно сохранить .docx в .rtf?
От: mDmitriy Россия  
Дата: 15.10.15 11:08
Оценка:
Здравствуйте, aloch, Вы писали:

D>>>>Платные компоненты на эту тему есть, но это тоже не вариант.

D>>Потому что не наблюдаю желающих за них заплатить...
A>Не понял?
не-а
A>Производителям компонентов не платят?
я не в курсе их проблем
A>Или ты сам платить не хочешь?
естественно, нет
A>Или тебе не платят?
производители компонентов? нет, увы...
Re[2]: Как программно сохранить .docx в .rtf?
От: mDmitriy Россия  
Дата: 15.10.15 11:31
Оценка: 18 (1)
Здравствуйте, Sinix, Вы писали:
S>Бесплатно можно получить разве что preview handlers (ещё пример).
т.е., можно в свое окно вставлять, к примеру, Word Viewer, если он установлен...
S>Или редактирование rtf. Ну и полусырые заготовки типа таких
это WPF, хотя его можно вставлять в WinForm
S>Программное изменение документа — тож всё печально.
S>Точно работает OpenXML SDK,
OpenXML SDK я использую для разбора
S>остальные или платные, или урезанные (например, в Spire.Doc — ограничение в 100 параграфов, в Gembox — 20). Или безымянные библиотеки типа https://www.nuget.org/packages/DocX_Doc/ — на свой страх и риск.
DocX_Doc — это тот же Spire.Doc, с теми же ограничениями
Спасибо большое за развернутый ответ
Re[2]: Как программно сохранить .docx в .rtf?
От: mDmitriy Россия  
Дата: 15.10.15 11:33
Оценка:
Здравствуйте, BrainSlug, Вы писали:
BS>попробуй покопать исходники onlyoffice (бывшиий teamlab). у них вроде есть собственный облачный офисный редактор похожий на офис. исходники емнип там открыты.
это online, не подходит к сожалению...
Re[3]: Как программно сохранить .docx в .rtf?
От: Sinix  
Дата: 15.10.15 12:50
Оценка:
Здравствуйте, mDmitriy, Вы писали:

D>Спасибо большое за развернутый ответ


А толку?

Я в свой время немало с похожей проблемой помучался. В итоге или полурабочая магия с хостингом в окне (возможно, обламывается с UAC. Правда или нет — сейчас не вспомню). Или бесплатные preview handlers. Или заденьги.

В итоге по просьбам пользователей решили или открытием папки с файлом или запуском зарегистрированного приложения. Дальше сами.
Но это у нас пользователи такие попались. Разумные


Сейчас по ссылкам пробежался — ничего особо не поменялось. Даже продукты те же.
Если найдёте ещё вариант — напишите плиз!

P.S. Для OpenXmlSDK есть ещё PowerTools, меня кучу раз спасали.
Отредактировано 15.10.2015 12:51 Sinix . Предыдущая версия .
Re[4]: Как программно сохранить .docx в .rtf?
От: mDmitriy Россия  
Дата: 15.10.15 14:15
Оценка: 36 (1)
Здравствуйте, Sinix, Вы писали:
S>А толку?
понимание пришло
S>Я в свой время немало с похожей проблемой помучался. В итоге или полурабочая магия с хостингом в окне
угу, спасибо
S>Если найдёте ещё вариант — напишите плиз!
Я копаю вот эту штуку — примерно как OpenXml для RTF.
Теоретически можно установить соответствие между нодами и конвертировать туда/сюда.
S>P.S. Для OpenXmlSDK есть ещё PowerTools, меня кучу раз спасали.
Пользуюсь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.