Hola a Todos,

        Acabo de incorporarme a este foro de discusión OOo.
        
        Estoy programando en Java con Eclipse y estoy interesado en la API
de OpenOffice.
        
        He instalado el OOo 2.0.4  y comenzado con el procesador de textos
Writer  y la hoja de calculo Calc con la idea de utilizarlos como soporte en
la obtención de documentos,informes etc.... en la actualidad    dispongo de
una aplicación similar realizada en Visual Basic con MS Office (Word y
Excel) , observo que la Interface es muy completa y muy interesante para mis
objetivos.

        Aprovechando este inicio quisiera consultar un problema,

        En Writer a la hora de insertar una imagen/gráfico en el documento ,
he leido que la única manera de insertarlo con la API es "linkada" ,con lo
que se ve el link, pero no la imagen....

        Alguien ha conseguido insertarlo ?, realizando la macro se inserta
perfectamente (Star Office)

        He trabajado con ejemplos en la red , pero no consigo hacerlo.

        Adjunto una muestra del código que estoy utilizando


         try
        {
                XTextRange rango = texto.getStart();           
                
            String imageUrl; 
            imageUrl = ("file:///C:logo_imagen.bmp"); 
            
            short hOrient = HoriOrientation.LEFT; 
            short vOrient = VertOrientation.TOP; 
            
            int imageWidth; 
            int imageHeight; 
            int enlargement = 10; 
            imageWidth = 100; 
            imageHeight = 100; 
  
            TextContentAnchorType oTCAT = null;  
            WrapTextMode oWTM = null;  

            XMultiServiceFactory xWriterFactoria = (XMultiServiceFactory)
UnoRuntime.queryInterface(XMultiServiceFactory.class, textoDocumento); 
            Object grafico =
xWriterFactoria.createInstance("com.sun.star.text.GraphicObject"); 
            
            XPropertySet propGrafico = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, grafico); 
            propGrafico.setPropertyValue("GraphicURL", imageUrl); 
            propGrafico.setPropertyValue("HoriOrient", new
Short(HoriOrientation.LEFT)); 
            propGrafico.setPropertyValue("VertOrient", new
Short(VertOrientation.TOP)); 
            propGrafico.setPropertyValue("Width", new Integer(100)); 
            propGrafico.setPropertyValue("Height", new Integer(100)); 
            
            XTextContent graficoContexto = (XTextContent)
UnoRuntime.queryInterface(XTextContent.class, grafico); 
            rango.getText().insertTextContent(rango, graficoContexto,
false); 
          } 
          catch (Exception e)
                  {
                System.out.println(e.getMessage());
          } 





        Gracias de Antemano,

        Jose Antonio Oria,
        Elgoibar 15 de Noviembre de 2006

        
        
        

Responder a