powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вставка в *.doc изображений
6 сообщений из 6, страница 1 из 1
Вставка в *.doc изображений
    #38045776
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!
Подскажите как вставить картинку в 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
Вставка в *.doc изображений
    #38046522
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такой код тоже не работает(файл в 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
Вставка в *.doc изображений
    #38046525
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл сказать: версия Apache POI 3.8
...
Рейтинг: 0 / 0
Вставка в *.doc изображений
    #38046528
Андрей Васильевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
outFileString это путь к файлу
...
Рейтинг: 0 / 0
Вставка в *.doc изображений
    #38046609
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Васильевич,
POI же только обёртка? Вставляют так:
Код: java
1.
Selection.InlineShapes.AddPicture


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


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

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


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