Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> libreoffice 5 c++ insert image 
V
    Опции темы
ss
Дата 6.12.2016, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Как вставить новый компонент (картинку, текст ...) в libreoffice 5 ? 
Взял за основу пример из sdk DocumentLoader. Пытаюсь добавить компонент из примеров https://wiki.openoffice.org/wiki/Writer/API/Overview

Код

args1[0].Name = OUString::createFromAscii("Bold");
    args1[0].Value <<=(sal_Bool)true;
    rDispatchHelper->executeDispatch(rDispatchProvider,
            OUString::createFromAscii(".uno:Bold"),
            OUString::createFromAscii(""),
            0,
            args1);
 
    args1.realloc(3);
    args1[0].Name = OUString::createFromAscii("FontHeight.Height");
    args1[0].Value <<= (sal_Int32)14;
    args1[1].Name = OUString::createFromAscii("FontHeight.Prop");
    args1[1].Value <<= (sal_Int32)100;
    args1[2].Name = OUString::createFromAscii("FontHeight.Diff");
    args1[2].Value <<= (sal_Int32)0;
    rDispatchHelper->executeDispatch(rDispatchProvider,
            OUString::createFromAscii( ".uno:FontHeight"),
            OUString::createFromAscii(""),
            0,
            args1);



    rDispatchHelper получаю так
Код

xInterface = Reference< XInterface >(
                resolver->resolve( sConnectionString ), UNO_QUERY );

rOfficeServiceManager_ = Reference< XMultiServiceFactory >(xInterface, UNO_QUERY);

Reference< XDispatchHelper > rDispatchHelper = Reference< XDispatchHelper >
                    ( rOfficeServiceManager_->createInstance(
                                  OUString( RTL_CONSTASCII_USTRINGPARAM(
                                  "com.sun.star.frame.DispatchHelper" ))), UNO_QUERY );



соединение с libreoffice  проходит нормально. Документ загружается нормально. Найти таблицу по имени и изменить текст в ячейке получается а вставить новый компонент ,напр. картинку не получается.

rDispatchHelper->executeDispatch не создает новый компонент.  (component.is() выдает false)

через getInstance не рекомендуют делать но то же не получается.

Это сообщение отредактировал(а) ss - 6.12.2016, 10:55
PM MAIL   Вверх
ss
Дата 6.12.2016, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



пробовал как в примере https://wiki.openoffice.org/wiki/Tables_in_a_Writer_Document

Код

xInterface = Reference< XInterface >( resolver->resolve( sConnectionString ), UNO_QUERY );
Reference< XMultiServiceFactory > rOfficeServiceManager_;
rOfficeServiceManager_ = Reference< XMultiServiceFactory >(xInterface, UNO_QUERY);


//--------------------------------------------------------------------------------------
OUString creator = OUString::createFromAscii("com.sun.star.text.TextTable");
Reference<XTextTable>xTable(rOfficeServiceManager_->createInstance(creator), UNO_QUERY);
//--------------------------------------------------------------------------------------


xTable - не существует.

пробовал так
Код

//xMultiComponentFactoryClient - описано в примерах к sdk
OUString creator = OUString::createFromAscii("com.sun.star.text.TextTable");
    Reference<XTextTable>res(xMultiComponentFactoryClient_->createInstanceWithContext(creator,xComponentContext_), UNO_QUERY);


так же не может создать компонент.

Это сообщение отредактировал(а) ss - 6.12.2016, 13:40
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1329 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.