Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вставка в *.doc изображений / 6 сообщений из 6, страница 1 из 1
20.11.2012, 17:31:59
    #38045776
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в *.doc изображений
Доброго времени суток!
Подскажите как вставить картинку в doc используя Apache POI. Так как это проделывать собирался с шаблоном, то решил пойти по пути замены имеющейся:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
FileInputStream FIS=new FileInputStream("C:\\test.doc");
        HWPFDocument wb=null;
        wb = new HWPFDocument(FIS);      
        FIS.close();

        File FI=new File("C:\\t.png");
        byte bim[]=new byte[(int)FI.length()];
        FileInputStream FIM=new FileInputStream(FI);
        FIM.read(bim);
        FIM.close();
        EscherBlipRecord ebr=new EscherBlipRecord();
        ebr.setPictureData(bim);
        Picture px=new Picture(ebr);  
        wb.getPicturesTable().getAllPictures().set(0, px);
        
        FileOutputStream FOS=null;
        FOS = new FileOutputStream("C:\\test1.doc");
        wb.write(FOS);
        FOS.close();



Не получается. Как сделать?
...
Рейтинг: 0 / 0
21.11.2012, 10:57:46
    #38046522
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в *.doc изображений
такой код тоже не работает(файл в OOO открывается но без картинки, в MSO2007 не открывается):
Код: java
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.
        XWPFDocument wb=null;
        try {
            wb = new XWPFDocument();
        } catch (Exception ex) {
        }        
        XWPFParagraph p = wb.createParagraph();
        XWPFRun r = p.createRun();
        int format = XWPFDocument.PICTURE_TYPE_PNG;
        r.setText("проба");
        r.addBreak();
        r.addBreak(BreakType.PAGE);
        r.addPicture(new FileInputStream(outFileString), format, outFileString, Units.toEMU(200), Units.toEMU(100));
        
        FileOutputStream FOS=null;
        try {
            FOS = new FileOutputStream("C:\\test1.docx");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        try {
            wb.write(FOS);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        try {
            FOS.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
...
Рейтинг: 0 / 0
21.11.2012, 10:58:59
    #38046525
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в *.doc изображений
Забыл сказать: версия Apache POI 3.8
...
Рейтинг: 0 / 0
21.11.2012, 10:59:59
    #38046528
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в *.doc изображений
outFileString это путь к файлу
...
Рейтинг: 0 / 0
21.11.2012, 11:40:00
    #38046609
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в *.doc изображений
Андрей Васильевич,
POI же только обёртка? Вставляют так:
Код: java
1.
Selection.InlineShapes.AddPicture


http://yandex.ru/yandsearch?text=Selection.InlineShapes.AddPicture&from=fx3&clid=1909644&lr=213
...
Рейтинг: 0 / 0
22.11.2012, 08:18:47
    #38048092
Андрей Васильевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка в *.doc изображений
Petro123Андрей Васильевич,
POI же только обёртка? Вставляют так:
Код: java
1.
Selection.InlineShapes.AddPicture


http://yandex.ru/yandsearch?text=Selection.InlineShapes.AddPicture&from=fx3&clid=1909644&lr=213

Да по моему POI не является оболочкой. А предложенный вами метод оставлю, на случай полной капитуляции.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вставка в *.doc изображений / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]