Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В чем оштбка в этом коде 
V
    Опции темы
JavaX
Дата 6.2.2009, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я пытаю несколько раз вставить изображение в документ, он на первом заходе в цикле вставляет, затем выдает ошибку
Код

for (int i=0;i<5;i++){

            XTextContent xTextContent =(XTextContent)UnoRuntime.queryInterface(XTextContent.class, oGraphic );
            xText.insertTextContent(xTextCursor, xTextContent, true);
            XPropertySet xPropSet=(XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, oGraphic);
        File GifFile = new java.io.File("c:/2.gif");
             StringBuffer sUrl = new StringBuffer("file:///");
             sUrl.append(GifFile.getCanonicalPath().replace('\\', '/')); 
             xPropSet.setPropertyValue( "AnchorType",TextContentAnchorType.AT_PARAGRAPH );
             xPropSet.setPropertyValue( "GraphicURL", sUrl.toString() );
             xPropSet.setPropertyValue( "HoriOrientPosition",new Integer( 5500 ) );
             xPropSet.setPropertyValue( "VertOrientPosition",new Integer( 4200 ) );
             xPropSet.setPropertyValue( "Width", new Integer( 4400 ) );
             xPropSet.setPropertyValue( "Height", new Integer(4000 ));

PM MAIL   Вверх
AntonSaburov
Дата 6.2.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



А текст ошибки не приводится ?
PM MAIL WWW ICQ   Вверх
JavaX
Дата 6.2.2009, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(AntonSaburov @ 6.2.2009,  12:57)
А текст ошибки не приводится ?

Exception in thread "main" com.sun.star.uno.RuntimeException: 
    at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182)
    at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148)
    at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344)
    at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313)
    at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101)
    at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652)
    at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154)
    at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136)
    at $Proxy9.insertTextContent(Unknown Source)
    at oooReport.openDocument(oooReport.java:93)
    at oooReport.main(oooReport.java:112)
я так понимаю ему чтото ненравится в этих строчках
Код

XTextContent xTextContent =(XTextContent)UnoRuntime.queryInterface(XTextContent.class, oGraphic );    
            xText.insertTextContent(xTextCursor, xTextContent, true);

кликая на ошибки перенаправляет туда
PM MAIL   Вверх
Samotnik
Дата 7.2.2009, 04:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



JavaX,  У тебя ошибка времени выполнения, что-то куда-то не передалось, или передалось но не правильно, или еще ... вариантов много. 
Выложи либо весь код, либо самому то место,  продебажить нужно  smile 
PM MAIL   Вверх
JavaX
Дата 9.2.2009, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Samotnik @ 7.2.2009,  04:51)
Выложи либо весь код

вот он кодик(несудить сильно покамись набросок )
Код

import com.sun.star.accessibility.*;
import com.sun.star.beans.*;
import com.sun.star.util.*;
import com.sun.star.lang.*;
import com.sun.star.text.*;
import com.sun.star.frame.*;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XInterface;
import com.sun.star.uno.XComponentContext;
import com.sun.star.view.XLineCursor;
import com.sun.star.view.XSelectionSupplier;

import ooo.connector.*;
import java.io.*;
public class oooReport{

    static XComponentContext xRemoteContext = null;
    static XMultiComponentFactory xRemoteServiceManager = null;
    static XURLTransformer xTransformer = null;
    static XComponentLoader xComponentLoader = null;
    static XDesktop xDesktop = null;
    static Object oGraphic = null;
    static XText xText = null;
    
    public oooReport(){
    }
    public static void connect() throws Exception {
    xRemoteContext = BootstrapSocketConnector.bootstrap("C:/Program Files/OpenOffice.org 3/program");
    xRemoteServiceManager = xRemoteContext.getServiceManager();
    Object transformer = xRemoteServiceManager.createInstanceWithContext(
    "com.sun.star.util.URLTransformer", xRemoteContext );
    xTransformer = (XURLTransformer)UnoRuntime.queryInterface(
    XURLTransformer.class, transformer);
    Object desktop = (XInterface) xRemoteServiceManager.createInstanceWithContext(
    "com.sun.star.frame.Desktop", xRemoteContext);
    xDesktop = (XDesktop)UnoRuntime.queryInterface(
    XDesktop.class, desktop);
    xComponentLoader = (XComponentLoader)UnoRuntime.queryInterface(
    XComponentLoader.class, desktop);
}
    
    public static XComponent openDocument(String sURL) throws Exception {
    java.io.File sourceFile = new java.io.File(sURL);
    StringBuffer sTmp = new StringBuffer("file:///");
    sTmp.append(sourceFile.getCanonicalPath().replace('\\', '/'));
    sURL = sTmp.toString();
    //////////////////////////////////////////////////////////
XDesktop xDesktop = (XDesktop)UnoRuntime.queryInterface(XDesktop.class,xRemoteServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop",xRemoteContext ) );
XComponentLoader xCompLoader =(XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, xDesktop);
XComponent xComp = xCompLoader.loadComponentFromURL(sURL, "_blank", 0,new PropertyValue[0]);
XTextDocument xTextDoc =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, xComp);
XMultiServiceFactory xMSFDoc =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
oGraphic =xMSFDoc.createInstance("com.sun.star.text.TextGraphicObject");
XText xText = xTextDoc.getText();
XTextCursor xTextCursor = xText.createTextCursor();
//////////////////////////////////////////////
        XSearchable xsearch = (XSearchable) UnoRuntime.queryInterface(XReplaceable.class, xTextDoc);
        XSearchDescriptor xRepDesc = xsearch.createSearchDescriptor();
        
        XParagraphCursor xParagraphCursor = (XParagraphCursor)UnoRuntime.queryInterface(
                XParagraphCursor.class, xTextCursor);
        
        XWordCursor word=(XWordCursor)UnoRuntime.queryInterface(
                XWordCursor.class, xTextCursor);
        
        XAccessibleText text=(XAccessibleText)UnoRuntime.queryInterface(
                XAccessibleText.class, xTextDoc);
        
        XSentenceCursor linecursor=(XSentenceCursor)UnoRuntime.queryInterface(
                XSentenceCursor.class, xTextCursor);
    
        String s="";
        int count=0;
        int j=0;
        while(word.gotoNextWord(false)){
            count=count+1;
        }
    
        word.gotoStart(false);
        for (int i=0;i<2;i++){
            word.gotoEndOfWord(true);
            s=word.getString();
            word.gotoNextWord(false);
            if  (s.equals("SHAPE")){
                
                XTextContent xTextContent =(XTextContent)UnoRuntime.queryInterface(XTextContent.class, oGraphic );
                xText.insertTextContent(word, xTextContent, true);
                XPropertySet xPropSet=(XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, oGraphic);
                 File GifFile = new java.io.File("c:/2.gif");
                 StringBuffer sUrl = new StringBuffer("file:///");
                 sUrl.append(GifFile.getCanonicalPath().replace('\\', '/')); 
                 xPropSet.setPropertyValue( "AnchorType",TextContentAnchorType.AT_PARAGRAPH );
                 xPropSet.setPropertyValue( "GraphicURL", sUrl.toString() );
                 xPropSet.setPropertyValue( "HoriOrientPosition",new Integer( 5500 ) );
                 xPropSet.setPropertyValue( "VertOrientPosition",new Integer( 4200 ) );
                 xPropSet.setPropertyValue( "Width", new Integer( 4400 ) );
                 xPropSet.setPropertyValue( "Height", new Integer(4000 ));
                //linecursor.gotoEndOfSentence(true);/*sensing the image*/
                //System.out.println(linecursor.getString());
            }
    }
    //////////////////////////////////////////////
     return xComp;
  }
    public static void InsertImage(){
        
    }
public static void main(String[] args) throws Exception {
    connect();
    openDocument("c:/1.odt");
    System.exit(0);
  }
}

PM MAIL   Вверх
JavaX
Дата 11.2.2009, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



никто неможет сказать в чем дело! вешается на этой строчки кода 
   xText.insertTextContent(word, xTextContent, true);
PM MAIL   Вверх
JavaX
Дата 17.2.2009, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



так чуству с таким никто несталкивался=(
PM MAIL   Вверх
ecologist
Дата 17.2.2009, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну звиняй - с OpenOffice пока народ не работает видимо smile

А если убрать строку, на которой вешается - то дальше вообще ничего не работает ?
PM MAIL   Вверх
JavaX
Дата 17.2.2009, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ecologist @ 17.2.2009,  10:28)
Ну звиняй - с OpenOffice пока народ не работает видимо smile

А если убрать строку, на которой вешается - то дальше вообще ничего не работает ?

дык эта строка вставляет изображение!!!
она находится в цикле, после первого прохода рисунок вставляется, а когда начинается второй заход то выходит ошибка!!!
PM MAIL   Вверх
JavaX
Дата 17.2.2009, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



все сам разобрался надобыло просто строку
Код

oGraphic =xMSFDoc.createInstance("com.sun.star.text.TextGraphicObject");


объявлять в цикле!!!воть!!!
всеравно всем спасибо кто помогал!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

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


 




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


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

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