开发者社区> 问答> 正文

关于往word书签的位置插图片?报错

public static void main(String[] args) throws Exception {
        // 模板文件路径
        String tempPath="E:\\abc.docx";
        //生成文件路径
        String targetPath="E:\\abcd.docx";
        //书签
        String bookMark="you";
        //图片路径
        String imagePath="E:\\image.JPG";
        
        WordprocessingMLPackage wPackage=WordprocessingMLPackage.load(new FileInputStream(tempPath));
        MainDocumentPart mainDocumentPart = wPackage.getMainDocumentPart();
        Document wmlDoc = (Document) mainDocumentPart.getJaxbElement();
        Body body=wmlDoc.getBody();
        List<Object> para=body.getContent();
        // 提取书签并创建书签的游标
        RangeFinder rf=new RangeFinder("CTBookmark", "CTMarkupRange");
        new TraversalUtil(para,rf);
        //遍历书签
        for (CTBookmark bm:rf.getStarts()) {
            if(bm.getName().equals(bookMark)){
            InputStream is=new FileInputStream(imagePath);
            byte[] bytes=IOUtils.toByteArray(is);
            BinaryPartAbstractImage imagePart=BinaryPartAbstractImage.createImagePart(wPackage, bytes);
            Inline inline=imagePart.createImageInline(null, null, 0, 1, false, 800);
            P p=(P) bm.getParent();
            ObjectFactory factory=new ObjectFactory();
            R run=factory.createR();
            Drawing drawing=factory.createDrawing();
            
            drawing.getAnchorOrInline().add(inline);
            run.getContent().add(drawing);
            p.getContent().add(run);
            }
        }
        
        
        wPackage.save(new FileOutputStream(targetPath));
    }

这是代码,运行没报错,但是图片总是插在word文档的末尾,而没有插入到我定义的书签那里,怎么回事,急急急!!!!!!!!!

 

 

展开
收起
爱吃鱼的程序员 2020-06-06 15:32:47 441 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        试试xdoc,这个比较容易,http://www.xdocin.com 
    
    2020-06-06 15:33:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载