Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
11 / 10 / 1
Регистрация: 05.02.2012
Сообщений: 106
1

Java & OpenOffice объединение документов

19.05.2013, 12:22. Показов 2706. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Значит ситуация такова: есть несколько файлов шаблонов, мы их загружаем, заполняем чем хочется, а перед сохранением их нужно объединить в один документ. Вот здесь и вопрос: как это сделать??? Набор готовых документов для сохранения это несколько экземпляров класса XComponent. Мне бы узнать хотя бы, в каком направлении копать, ну а если есть примерчик, то это было бы очень круто) Буду рад любой помощи))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2013, 12:22
Ответы с готовыми решениями:

OpenOffice Basic Объединение ячеек
Всем привет. Подскажите люди добрые как можно на языке OpenOffice Basic (VBA для OO Calc) выделить...

Макросы OpenOffice/формирование документов, какую прогу надо делать?
Помогите, плиз! Макросы OpenOffice/формирование документов, какую прогу надо делать?

C++ & OpenOffice SDK
Всем привет. Недавно появилась задача из приложения, написанного на языке С++, выгрузки данных в...

OpenOffice & win2008r2
Здравствуйте. В общем есть терминальный сервак, к нему конектятся туча пользователей, ну и...

4
91 / 91 / 10
Регистрация: 18.05.2013
Сообщений: 265
20.05.2013, 16:53 2
Вам стоит разбить задачи на подзадачи, в частности:
1) Что за шаблоны и в каком виде они обрабатываются (заполняются)
2) каков механизм объединения и заполнения ?
3) каковы должны быть конечные результаты
Вы желаете получить свой XComponent или нечто иное ?
0
11 / 10 / 1
Регистрация: 05.02.2012
Сообщений: 106
20.05.2013, 22:40  [ТС] 3
1) .odt, он же Open Office Writer. Обрабатываются посредством Java API для Open Office, это сделано.
2) Заполнение готово, тоже с помощью API заполняются нужные таблицы и заметки
Объединение - это и есть мой вопрос!) В этом сама и проблема. После заполнения документов у нас есть несколько XComponent, для простоты пускай два.
3)Результат - любое из двух: 1) XComponent или 2) XTextDocument.
Это значения не имеет, т.к.
Java
1
XTextDocument doc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, component);
где component есть экземпляр класса XComponent.
У XTextDocument есть метод getText(), который возвращает экземпляр класса XText.
Как вариант можно бы добавить содержимое одного экземпляра XText в другой. Но как это сделать? Проблема в том, что XText содержит намного больше, чем просто текст. Там, например, те же таблицы. А прямого способа передать весь контент нету((
0
91 / 91 / 10
Регистрация: 18.05.2013
Сообщений: 265
21.05.2013, 09:35 4
В XTextDocument есть API для модификации, причем довольно неплохое ... если говорить о нем, то по этой теме есть интересная дискуссия на форуме ОО: http://forum.openoffice.org/en... 5&p=177856
1
11 / 10 / 1
Регистрация: 05.02.2012
Сообщений: 106
23.05.2013, 00:55  [ТС] 5
Благодарю! Это как раз самое то!)
Вот в общем итог:
Java
1
2
3
4
5
6
7
8
   public void addTemplate(String tempDocument) //путь к файлу
   throws Exception {
            XTextCursor cur = doc.getText().createTextCursor();//XTextDocument doc
            cur.gotoEnd(false);
            XDocumentInsertable xDocI = (XDocumentInsertable) 
                    UnoRuntime.queryInterface(XDocumentInsertable.class, cur);            
            xDocI.insertDocumentFromURL((new File(tempDocument)).toURI().toString(), new PropertyValue[0]);
    }
0
23.05.2013, 00:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2013, 00:55
Помогаю со студенческими работами здесь

Как добавить пункт в контекстное меню для создания документов OpenOffice ?
Rак добавить пункт в контекстное меню для создания документов OpenOffice ?

Tomcat HTTP Status 500 (java.lang.NoClassDefFoundError && java.lang.ClassNotFoundException) with MongoDB
Здравствуйте, пишу простенький сервер, который мог бы работать с MongoDB. Создал классы для...

query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так?
упростил для краткости запрос. в чем ошибка? RecSet - это коннекшн. query='SELECT * FROM resume...

Объединение документов
Есть несколько документов с разными колонтитулами. Их нужно объединить в один. Как это сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru