У нас есть возможность удалить фотографии из .docx
файл в java с помощью xwpfdocument
? Пожалуйста, ответьте мне, так как я пытаюсь сделать это в течение прошлой недели. Код пытался:Удалить изображения в .docx файле
public static void imageProcess(XWPFDocument document) throws IOException
{
List<XWPFPictureData> pic=document.getAllPictures();
Iterator<XWPFPictureData> iterator=pic.iterator();
if (pic.size()>0)
{
for (XWPFParagraph para : document.getParagraphs())
{
List<XWPFRun> runs = para.getRuns();
for(XWPFRun run : runs){
run.getCTR().removeDrawing(0);
}
}
}
}
Исключение:
Exception in thread "main" java.lang.IndexOutOfBoundsException
at org.apache.xmlbeans.impl.store.Xobj.removeElement(Xobj.java:2200)
at org.apache.xmlbeans.impl.store.Xobj.remove_element(Xobj.java:2230)
at org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.CTRImpl.removeDrawing(Unknown Source)
at com.util.DocxUtil.imageProcess(DocxUtil.java:326)
at com.util.DocxUtil.main(DocxUtil.java:60)
Если вы пытались сделать это в течение недели, пожалуйста ** состояние ** что вы пробовали. Таким образом, мы не будем тратить время на то, чтобы предлагать вещи, которые вы уже знаете, не работают. –
Нет документации, в которой говорится о том, как удалить изображения из файла docx. Я сомневаюсь, что POI даже поддерживает удаление снимков. И единственный фрагмент, который я пробовал из какого-то вопроса, просто не работает. – LittlePanda
public static void imageProcess (XWPFDocument document) throws IOException \t { \t \t Список pic = document.getAllPictures(); \t \t Итератор итератор = pic.iterator(); \t \t \t \t , если (pic.size()> 0) \t \t {\t \t \t \t \t для (INT I = 0; г бежит = para.getRuns(); \t \t \t \t для (XWPFRun бега: пробежки). { \t \t \t \t \t run.getCTR() removeDrawing (0); \t \t \t \t} \t \t \t} \t \t \t} \t \t} \t} –
Sherin