Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Java + Open Office  (Прочитано 5328 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AMD

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Java + Open Office
« : 28 Апрель 2008, 23:45:53 »
У кого есть практика в данном сегменте хотелось бы получить пару советов

Возможно ли такое и как? Хочу создать программу на Java которая бы выводила отчеты через OpenOffice

из понятного нашел вот данный пример

Оффлайн serEJa

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Java + Open Office
« Ответ #1 : 29 Апрель 2008, 14:57:40 »
Использовал следующий вариант - раззиповывал odt, ods на диск, парсил content.xml, но мне проще надо было только вставить значения в поля. А с SDK возиться не хотелось, единственно что понадобилось - это ODF-спецификация, которую при желании можно было заменить внимательным просмотром содержимого content.xml

Оффлайн AMD

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: Java + Open Office
« Ответ #2 : 30 Апрель 2008, 10:41:45 »
Использовал следующий вариант - раззиповывал odt, ods на диск, парсил content.xml, но мне проще надо было только вставить значения в поля. А с SDK возиться не хотелось, единственно что понадобилось - это ODF-спецификация, которую при желании можно было заменить внимательным просмотром содержимого content.xml

Тоесть ты хочешь сказать у тебя был макет в котором ты только заменял данные?

Идея не плохая!

А вот как ты отправлял это на печать?

ведь ты должен был открыть в OpenOffice файл потом отправить его на печать и все это программно
« Последнее редактирование: 01 Май 2008, 09:48:19 от AMD »

Оффлайн Const@ntine

  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Re: Java + Open Office
« Ответ #3 : 04 Май 2008, 21:46:15 »
У кого есть практика в данном сегменте хотелось бы получить пару советов

Возможно ли такое и как? Хочу создать программу на Java которая бы выводила отчеты через OpenOffice

из понятного нашел вот данный пример

Насколько мне известно то OpenOffice без Java никуда. По крайней мере в Windows.

Оффлайн mirgor

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Java + Open Office
« Ответ #4 : 05 Май 2008, 01:58:33 »
Тоже интересует этот вопрос. На чем лучше программировать в OpenOffice? Что позволит полноценно использовать его вместо Access+Excel+Word?
Кстати нашел интересную статью, может пригодиться? http://dmitrygusev.blogspot.com/2008/04/java-openofficeorg.html - Создание Java-расширений для OpenOffice.org

Оффлайн AMD

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: Java + Open Office
« Ответ #5 : 06 Май 2008, 01:45:14 »
Тоже интересует этот вопрос. На чем лучше программировать в OpenOffice? Что позволит полноценно использовать его вместо Access+Excel+Word?
Кстати нашел интересную статью, может пригодиться? http://dmitrygusev.blogspot.com/2008/04/java-openofficeorg.html - Создание Java-расширений для OpenOffice.org
Знаю что Java is the BEST - но проблема что недостаточно документации с примерами особенно на русском
Зачем они внедрили starbasic в OpenOffice как язык для макросов если он серовно не совместим с VisualBasic - лучше была бы Java хотябы польза была
А так и обучать новое надо и пользы нет.

Оффлайн dmitrygusev

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Java + Open Office
« Ответ #6 : 06 Май 2008, 12:42:31 »

А вот как ты отправлял это на печать?

ведь ты должен был открыть в OpenOffice файл потом отправить его на печать и все это программно


Это просто сделать. OOo может быть доступным для других приложений как сервер. Вы открываете с ним соединение, открываете в нем (в OOo) документ, получаете на нем (на документе) интерфейс IPrintable (могу ошибаться с названием) и вызываете метод Print

Цитировать
Насколько мне известно то OpenOffice без Java никуда. По крайней мере в Windows.

Это не правда, во-первых OOo никак не привязан к платформе, а во вторых к языку программирования, благодаря модели программирования UNO. Можно писать клиентов к OOo на c++/java/любом языке .Net, python и других. Про это есть в официальной документации к SDK.

Цитировать
Тоже интересует этот вопрос. На чем лучше программировать в OpenOffice? Что позволит полноценно использовать его вместо Access+Excel+Word?

Язык можно выбрать любой, на котором вам проще решить вашу конкретную задачу. Для всех языков API доступа к OOo одинаковое.

Цитировать
Знаю что Java is the BEST - но проблема что недостаточно документации с примерами особенно на русском

Java - не лучший язык, Java лучше для тех, кто программирует на Java. Остальные могут выбрать свой любимый язык, например, c++.

Документации на русском нет практически ни для чего - без английского увы никак. Но сам факт того, что у OOo SDK _есть_ документация и она _подробная_ - это нельзя не отметить и, конечно, для opensource'а это редкость. Чтобы написать статью мне понадобилось два дня, чтобы с нуля разобраться во всем - спасибо книге DevGuide.

Цитировать
Зачем они внедрили starbasic в OpenOffice как язык для макросов если он серовно не совместим с VisualBasic - лучше была бы Java хотябы польза была
Вы можете на этом языке вызвать Java-компонент, если вам удобнее загонять всю логику туда.

Оффлайн AMD

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: Java + Open Office
« Ответ #7 : 14 Май 2008, 16:56:17 »
Вы можете на этом языке вызвать Java-компонент, если вам удобнее загонять всю логику туда.

Если конечно не затрудняет можешь дать маленкий примерчик программы

из starbasic-a выполнить Java-компонент - который будет содержать такой код
- создает в калке новый документ
- на первом листе документа в ячейке A1 написать "Это OpenOffice"
- вывести это на принтер
« Последнее редактирование: 14 Май 2008, 17:46:28 от AMD »

Оффлайн dmitrygusev

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Java + Open Office
« Ответ #8 : 15 Май 2008, 19:32:18 »
Вы можете на этом языке вызвать Java-компонент, если вам удобнее загонять всю логику туда.

Если конечно не затрудняет можешь дать маленкий примерчик программы

из starbasic-a выполнить Java-компонент - который будет содержать такой код
- создает в калке новый документ
- на первом листе документа в ячейке A1 написать "Это OpenOffice"
- вывести это на принтер

Работа с таблицами OOo из Java хорошо описана в документации, взять, например, вот этот раздел: http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/FirstSteps/Example:_Working_with_a_Spreadsheet_Document

Там создается новый документ, ячейки заполняются данными и даже иллюстрируется как вычисляемую ячейку сделать.

Чтобы вывести документ на печать нужно получить на нем интерфейс com.sun.star.view.XPrintable и вызвать метод print, например, так:

    XPrintable xPrintable = (XPrintable)UnoRuntime.queryInterface(
        XPrintable.class, comp);
    PropertyValue[] printOpts = new PropertyValue[0];
    xPrintable.print(printOpts);

Чтобы вызвать Java UNO-компонент из бейсика, например, мой ActivityMonitor из примера в блоге, можно написать такой код:

    Service = CreateUnoService("org.keyintegrity.ooo.ActivityMonitor")

    MsgBox(Service.dbg_methods)
    MsgBox(Service.dbg_properties)
    MsgBox(Service.dbg_supportedInterfaces)

    MsgBox (Service.getImplementationName())

Здесь создается экземпляр сервиса, выводится отладочная информация о доступных методах, свойствах и поддерживаемых интерфейсах.

И в последней строчке идет вызов метода (я не стал добавлять новый метод в пример, но вызвать можно любой доступный метод, например, тот, который будет работать с таблицами).

Оффлайн AMD

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: Java + Open Office
« Ответ #9 : 19 Май 2008, 00:15:56 »
Будем изучать

 

Страница сгенерирована за 0.059 секунд. Запросов: 24.