Самый простой вариант без потусторонних библиотек.
Делаете красивый шаблон, с нужными отступами и рюшечками. Там, где потом программно нужно будет поменять текст, вставляете что-то вроде {{My_string_1}}
Сохраняете как файл rtf.
Потом в C# (или ещё где), отрываете шаблон, и поиском заменяете строку {{My_string_1}} на нужный текст.
а если учесть что docx это по сути архив, в котором автору нужно только отредактировать document.xml заменив ключи на значения, то можно и без rtf обойтись
Юноша, не торопитесь с выводами и резкими высказываниями.
Данный универсальный подход был реализован для Web-приложения в далёком 2004 году, Java 1.4, Struts, Tomcat.
Ограничение заказчика - не использовать сторонние библиотеки.
Приложение используется до сих пор, порядка 500 пользователей.
Ни одного сбоя не зафиксировано.
Есть штатный механизм - COM. С которым шарп прекрасно работает. С ним вообще всё прекрасно работает, включая PowerShell и VBSript. Нахуй тут советовать костыли из rtf, которые будут работать строго по чётным дням апреля високосного года - это вне всяческого понимания.
Мне стало интересно и я попробовал сделать сэмпл создания вордовского документа с мсдн (https://www.c-sharpcorner.com/UploadFile/muralidharan.d/how-...).
Судя по всему, этот код запускает настоящий инстанс ворда и его средствами создает документ. Все бы хорошо, но этот не запускается так как ком класс не зарегистрирован, что бывает когда ворда у тебя нет. Т.е. просто interop либы не достаточно. Нужен реально установленный ворд. А где установленный ворд там и лицензия.
Если я нигде не ошибся, то метод с шаблоном и заменой текста реально лучше не только тем, что из кода не нужно описывать весь документ (а лишь заменить специфические части) но и тем, что на машине, обрабатывающей этот шаблон, не нужен купленный ворд.
но и тем, что на машине, обрабатывающей этот шаблон, не нужен купленный ворд.
Если ты собрался пользоваться вордовыми документами, то тебе один хуй нужна лицензия.
И гораздо проще тупо купить лицуху на машину, где вот это вот всё будет происходить, чем платить 50 раз за поддержку велосипеда с костылями. А ты платить будешь, хотя бы в виде зряплаты горе-разработчика.
Сколько времени ты проебёшься с этой задачей? Сколько времени у тебя уйдёт на переделку, когда MS в очередной раз формат хранения сменит, или перестанет условный rtf поддерживать? Я сильно сомневаюсь что цена этих человеко-часов будет меньше, чем купить ещё одну лицензию.
Такие вот дела.
"Если ты собрался пользоваться вордовыми документами, то тебе один хуй нужна лицензия."
Та не. Когда мне приходится иметь дело с docx я просто шлю его на гугл диск и там открываю.
"И гораздо проще тупо купить лицуху на машину, где вот это вот всё будет происходить"
Это уже условия заказчикаю Вполне может так случиться что это дело может понадобиться для некого онлайн сервиса (подготовка документов по шаблону), а установка лицензионного софта на облачных девайсах может нести быть проблематичным (хотя и выбор ворда для этого дела был бы довольно старнным).
А мне как раз и нужно, чтобы вордовый документ создавался на машине (большом колличестве машин), на кртрых офис не уставнолен...
Но это уже тема для разговора не здесь. Это как раз в теме проблемы "XY" - вы же всей моей ситуации не знаете, но не на Пикабу же весь мой проект расписывать =)
Не, показалось мне. Такой алгоритм можно было бы и без вопросов к сообществу "придумать" и реализовать, причём реально на любом языке. А мне нужен вариант, когда при смене форматирования не нужно было бы переписывать всю функцию заново.
А что скажете про TemplateEngine.Docx ?
А мне нужен вариант, когда при смене форматирования не нужно было бы переписывать всю функцию заново.
На условном sql.ru я бы тебе ответил.
А тут могу мемасиков, котегов и сисег накидать, надо?

Лига программистов
2.3K постов12K подписчиков
Правила сообщества
- Будьте взаимовежливы, аргументируйте критику
- Приветствуются любые посты по тематике программирования
- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества