NPOI在docx插图方法

本文详细介绍了如何使用NPOI 2.0在docx文档中插入图片,包括inline内联方式和anchor锚点方式,并分析了docx文件中图片的XML结构。作者对NPOI源码进行修改以支持这两种插图方式,并提供了示例代码供下载参考。
摘要由CSDN通过智能技术生成

      NPOI尽管已发展到2.0,但对word的支持还不够稳定,对于如何用NPOI在docx中插图网上很少涉及。经过对docx文件中插图的xml分析,对NPOI2.0R源码进行了插图方面的修改,实现了inline和anchor两种方式的插图。

      一、docx插图方式与inline和anchor关系

      inline:内联,此种插图方式对插入的图片位置不能灵活控制,只能通过段设置,对应word的嵌入型插图。

      anchor:锚,此种插图方式对插入的图片位置能灵活控制,对应word的四周型、紧密型、穿越型等。

      二、docx文件中插图的xml分析

      docx插入图片的所有信息都包含在word文件夹中,文件夹中有document.xml文件、media和_rels文件夹,其中图片数据存储在此文件夹下的media文件夹中,在_rels文件夹中的document.xml.rels文件对插图定义了以"rId"+数字组成的标识与图片关联。document.xml文件则存储着插图等的xml信息。

      三、修改NPOI2.0R源码

      原NPOI的XWPFRun类中提供了AddPicture方法,为inline插图方式,经测试发现产生的xml不符合docx插图结构,对相关的类进行了修改,由于修改较多,在此不列举。在XWPFRun类中增加了anchor插图方式的AddPicture方法的重载。

      四、inline及anchor插图实现代码

      inline方式插图代码片段:

            gfs = new FileStream("f:\\pic\\1.jpg", FileMo

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值