Java - ayuda con insertar imagen en word desde java con POI API

 
Vista:

ayuda con insertar imagen en word desde java con POI API

Publicado por beto (1 intervención) el 24/06/2015 21:50:43
Hola buenas tardes
Tengo este ejemplo y puedo hacer que funcione si quito la linea de run.addPicture(pic, Document.PICTURE_TYPE_JPEG, "3", 0, 0);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
 
public class ImageDoc
{
    public static void main(String[] args) throws IOException, InvalidFormatException
    {
        XWPFDocument docx = new XWPFDocument();
        XWPFParagraph par = docx.createParagraph();
        XWPFRun run = par.createRun();
        run.setText("Hello, World. This is my first java generated docx-file. Have fun.");
        run.setFontSize(13);
        InputStream pic = new FileInputStream("C:\\Users\\amitabh\\Pictures\\pics\\3.jpg");
        //byte [] picbytes = IOUtils.toByteArray(pic);
        //run.addPicture(picbytes, Document.PICTURE_TYPE_JPEG);
        run.addPicture(pic, Document.PICTURE_TYPE_JPEG, "3", 0, 0);
        FileOutputStream out = new FileOutputStream("C:\\Users\\amitabh\\Pictures\\pics\\finallyhurray.doc");
        docx.write(out);
        out.close();
        pic.close();
    }
}

no se que me falta
de jar tengo

poi-3.9-20121203.jar;

poi-ooxml-3.9-20121203.jar;

poi-ooxml-schemas-3.9-20121203.jar;

dom4j-1.6.1.jar;

mlbeans-2.3.0.jar;. si lo corro con la linea del
run.addPicture(pic, Document.PICTURE_TYPE_JPEG, "3", 0, 0);

me genera el word pero me dice que encontro un problema en el contenido :(
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda con insertar imagen en word desde java con POI API

Publicado por Froz (1 intervención) el 29/07/2016 07:11:43
Amigo, lo pudiste resolver?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con insertar imagen en word desde java con POI API

Publicado por AlexisL (1 intervención) el 08/02/2017 15:49:01
Amigo te dejo lo que podria ser una solucion, es necesario convetir los pixles a EMU, a mi me funciona asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) throws IOException, InvalidFormatException
{
    XWPFDocument docx = new XWPFDocument();
    XWPFParagraph par = docx.createParagraph();
    XWPFRun run = par.createRun();
    run.setText("Texto dentro del word");
    run.setFontSize(13);
    InputStream pic = new FileInputStream("C:\\Imagenes\\login.jpg");
    run.addPicture(pic, Document.PICTURE_TYPE_JPEG, "1", Units.toEMU(500), Units.toEMU(200));
    FileOutputStream out = new FileOutputStream("C:\\XML\\Evidencia\\Evidencia.doc");
    docx.write(out);
    out.close();
    docx.close();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con insertar imagen en word desde java con POI API

Publicado por vic (1 intervención) el 06/06/2018 01:41:27
Es correcto lo que comenta alexisL, solo hacia falta la conversión de pixeles.

AlexisL, como podria hacer lo mismo pero que se inserte la imagen en un archivo word que ya exista?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con insertar imagen en word desde java con POI API

Publicado por Karmela (1 intervención) el 28/09/2018 18:06:26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) throws IOException, InvalidFormatException
{
   File fichero=new File("src/Formatos/Sistema.docx"); //archivo existente con informacion
   FileInputStream ficheroStream = new FileInputStream(fichero);
   XWPFDocument docx=new XWPFDocument(ficheroStream);
 
    XWPFParagraph par = docx.createParagraph();
    XWPFRun run = par.createRun();
    run.setText("Texto dentro del word");
    run.setFontSize(13);
    InputStream pic = new FileInputStream("C:\\Imagenes\\login.jpg");
    run.addPicture(pic, Document.PICTURE_TYPE_JPEG, "1", Units.toEMU(500), Units.toEMU(200));
    FileOutputStream out = new FileOutputStream("C:\\XML\\Evidencia\\Evidencia.docx");//nuevo archivo
    docx.write(out);
    out.close();
    docx.close();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar