Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Правильная обработка документов


Автор: Zabava 14.9.2011, 21:59
На работе часто бывает такая ситуация: тебе дают шаблон (.doc) и ты должен в своей программе сформировать выходной документ из этого шаблона, заполненный определённым образом. 

Как делал я: 
  • открывал этот шаблон в Word 
  • помечал те данные, которые будут изменяться
  • сохранял шаблон в формате .xml
  • открывал этот .xml в своей программе
  • изменял помеченные данные
  • сохранял выходной документ в формате .doc

Мне кажется этот способ не самым оптимальным, можете посоветовать технологию получше? 

ps Пишу на C++ с использованием Qt 4.5.2

Автор: bsa 14.9.2011, 22:06
Если портировать под другие ОС планов нет, то можно использовать ActiveQt.

Автор: Zabava 14.9.2011, 22:12
нужна кроссплатформенность 

Автор: kemiisto 14.9.2011, 22:15
Цитата(Zabava @  14.9.2011,  20:59 Найти цитируемый пост)
тебе дают шаблон (.doc)

Цитата(Zabava @  14.9.2011,  21:12 Найти цитируемый пост)
нужна кроссплатформенность

 smile 

Вы уж определитесь как-то.

Автор: Zabava 14.9.2011, 22:21
Цитата(kemiisto @  14.9.2011,  22:15 Найти цитируемый пост)
Вы уж определитесь как-то. 

Что не так? Мне дают шаблон (.doc) я РУКАМИ перевожу его в xml и этот xml я скармливаю своей программе в любой ОС.

Автор: RastaDja 15.9.2011, 09:49
Цитата(Zabava @  14.9.2011,  22:59 Найти цитируемый пост)

Как делал я: 
-открывал этот шаблон в Word 
-помечал те данные, которые будут изменяться
-сохранял шаблон в формате .xml
-открывал этот .xml в своей программе
-изменял помеченные данные
-сохранял выходной документ в формате .doc


с .doc не работал, работал с .docx. Для .docx довольно просто сделать xslt.
что делал я:
-есть xml с данными
-есть xslt Преобразование
-xslt + xml => .docx

разобратся с архивом docx довольно просто

Автор: xvr 15.9.2011, 13:51
Word умеет вставлять в текст поля из базы данных (Insert->Field->DataBase). Заменяете этими полями все места, где надо вставить данные, саму базу данных формируете отдельно (где хотите), и прилагаете к Word'овому документу

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)