使用NPOI制作word数据模板,在插入图片时遇到的一些问题:

1,内联式插图(inline) (这种方式插入图片不好调整显示位置)

XWPFDocument m_Docx = new XWPFDocument();//创建word文档FileStream gfs = null;
gfs = new FileStream("../../image/1.jpg", FileMode.Open, FileAccess.Read);
CT_P m_p = m_Docx.Document.body.AddNewP();m_p.AddNewPPr().AddNewJc().val = ST_Jc.center;//段落水平居中
XWPFParagraph gp = new XWPFParagraph(m_p, m_Docx);//创建段落
XWPFRun gr = gp.CreateRun();//创建run
//在run中插入图片
gr.AddPicture(gfs, (int)NPOI.XWPF.UserModel.PictureType.JPEG, "1.jpg", 5300000,2500000);
gfs.Close();//保存文件到磁盘WinForm
string docPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "DocxWord");
if (!Directory.Exists(docPath)) { Directory.CreateDirectory(docPath); }
string fileName = string.Format("{0}.doc", DateTime.Now.ToString("yyyyMMddHHmmssfff"));
FileStream out1 = new FileStream(Path.Combine(docPath, fileName), FileMode.Create);
m_Docx.Write(out1);
out1.Close();

2,锚点插图(anchor)使用四周型的插入方式,可以确定图片坐标位置的方式,文后会放其他的NPOI整理文档连接

FileStream gfs = null;
//读取图片资源
gfs = new FileStream("../../image/1.jpg", FileMode.Open, FileAccess.Read);
CT_P m_p = m_Docx.Document.body.AddNewP();
m_p.AddNewPPr().AddNewJc().val = ST_Jc.center;
XWPFParagraph gp = new XWPFParagraph(m_p, m_Docx);//创建段落
XWPFRun gr = gp.CreateRun();//创建runCT_Anchor an = new CT_Anchor();
//图片距正文上(distT)、下(distB)、左(distL)、右(distR)的距离。114300EMUS=3.1mm
an.distB = (uint)(0);
an.distL = 0;
an.distR = 0;
an.distT = 0;
an.relativeHeight = 251658240u;
an.behindDoc = false; //"0",图与文字的上下关系
an.locked = false;  //"0"
an.layoutInCell = true;  //"1"
an.allowOverlap = true;  //"1" CT_Positive2D simplePos = new CT_Positive2D();
simplePos.x = (long)0;
simplePos.y = (long)0;
CT_EffectExtent effectExtent = new CT_EffectExtent();
effectExtent.b = 0L;
effectExtent.l = 0L;
effectExtent.r = 0L;
effectExtent.t = 0L;
//图左上角坐标
CT_PosH posH = new CT_PosH();
posH.relativeFrom = ST_RelFromH.column;
posH.posOffset = 0;//单位:EMUS,1CM=360000EMUS
CT_PosV posV = new CT_PosV();
posV.relativeFrom = ST_RelFromV.paragraph;
posV.posOffset = 0;//使用四周型
CT_WrapSquare wrapSquare = new CT_WrapSquare();
wrapSquare.wrapText = ST_WrapText.bothSides;
gr.AddPicture(gfs, (int)NPOI.XWPF.UserModel.PictureType.JPEG, "1.jpg", 5300000,2500000,
posH, posV, wrapSquare,anchor,simplePos,effectExtent);//保存文件
string docPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "DocxWord");
if (!Directory.Exists(docPath)) { Directory.CreateDirectory(docPath); }
string fileName = string.Format("{0}.doc", DateTime.Now.ToString("yyyyMMddHHmmssfff"));
FileStream out1 = new FileStream(Path.Combine(docPath, fileName), FileMode.Create);
m_Docx.Write(out1);
out1.Close();

收集的使用NPOI操作word的文档,还是比较适用的文档 https://download.csdn.net/download/dengxt/10823924

NPOI版本: https://download.csdn.net/download/dengxt/10824550

NPOI word中插入图片相关推荐

  1. npoi2.0版本word中插入图片

     npoi2.0版本word中插入图片,也可以插入条码. namespace InsertPicturesInWord {     class Program     {         //ht ...

  2. Spire.Doc在Word中插入图片时,自适应宽度设置

    需求:往Word中插入图片,需要铺满可编辑区域的宽度,此时需要根据文档的宽度自适应图片的大小了,核心代码如下: Paragraph paragraph = doc.createParagraph(); ...

  3. word中插入图片只显示底边,其他看不到,插入公式显示不全

    在word中插入图片发现只能显示底边,其他内容看不到,图片上方还有文字,好像图片隐形了一样.插入公式显示不全,少些边角,尤其是公式的上下显示不完整. 原因: 段落中设置了固定行间距 解决方法: 先选中 ...

  4. 用“域”来往Word中插入图片

    http://gzkhrh.blog.51cto.com/30447/121160 用"域"来往Word中插入图片   这里,会用到一个叫"INCLUDEPICTURE& ...

  5. Word中插入图片不清晰、分辨率较低的问题解决方案(VISIO\MATLAB)

    Word中插入图片不清晰.分辨率较低的问题解决方案 1.网上常用的解决方案是修改word中自带的压缩设置,但大部分该操作不顶用.流程如下:文件-选项-高级-图像大小与质量 2.通常我们图片的来源是ma ...

  6. Word中插入图片不按原始大小显示的问题

    Word中插入图片不按原始大小显示的问题 怎样设置Word文档图像的默认输出分辨率

  7. Python办公自动化实战 05 | Python-docx库:Python与Word的完美结合_ 利用代码实现Word中插入图片

    一.专题内容简介 本专题主要介绍Python针对Word办公自动化如何利用Python代码动态向Word中插入图片.​并且对格式做简单设定. 二.专题案例效果 最终运行效果如下: 三.专题代码实现 3 ...

  8. 图片适应窗口_在word中插入图片,如何避免失真模糊?实用文档建议收藏

    插入图片 在WORD文档中插入图片是一个相当常用的操作. 一般通常的做法,是使用工具截图或在其他工具中复制的图片类内容,然后在WORD文档中粘贴出来. 还有一种做法,是使用功能区"插入&qu ...

  9. C#中操作Word(6)—— 如何向Word中插入图片

    一.Word对象模型的重叠性分析 本文主要介绍通过书签Bookmark向Word文档中插入图片的方法.在此之前我们先简单讨论下Word对象模型的重叠性.如果你对Word对象模型还不熟悉,请参考本专栏第 ...

  10. php 图片 模糊,Word中插入图片模糊、不清晰的解决方法

    在Word中插入小图片时,往往图片不是以原始大小显示的,而是被放大一些,造成图片模糊不清. 其实这是由于插入图片的分辨率造成的,在计算机上处理的图片分辨率一般有三种:72dpi.96dpi.300dp ...

最新文章

  1. Java内部类作用全解
  2. socket编程 -- epoll模型服务端/客户端通信的实现
  3. 网络爬虫--20.【Scrapy-Redis实战】分布式爬虫获取房天下--代码实现
  4. tomcat 参数最佳实践_一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL...
  5. 12-Factor与云原生
  6. multiprocessing(python 版)
  7. mysql环境变量的配置
  8. 基于JAVA+SpringBoot+Mybatis+MYSQL的垃圾分类管理系统
  9. python typeerror_Python 新手必须要注意的错误
  10. 量子位「AI内参」正式上线,每日AI最全资讯一键Get!
  11. ubuntu终端连接远程计算机
  12. C# 0xC0000005 捕获
  13. 成功的背后!(给所有IT人)
  14. Java ques: Exception in thread “main“ java.lang.ClassNotFoundException
  15. baseservlet怎么写_BaseServlet
  16. C# 代码 Unicode码和字符串相互转换
  17. 5.8G无线游戏耳机模组方案需要哪些亮点|天惠微科技
  18. Docker 存储卷
  19. 关于标准电阻阻值的说明(E6、E12、E24、E48、E96、E192)
  20. php mysql 手机归属地_PHP手机号码归属地查询代码(API接口/mysql)_PHP教程

热门文章

  1. Hi3519/Hi3559 系列芯片 AI资料介绍
  2. 如何自学计算机access,我是怎样自学access的
  3. 一个简单的c++文本加密
  4. 戴尔服务器怎么一键重装系统,dell笔记本重装系统步骤
  5. 制作u盘winpe启动盘_u盘启动盘制作工具软件哪个好?
  6. JAVA实现发短信功能
  7. Mac电脑如何快速查找文件
  8. 怎么更改坐标轴标题access_excel图表如何修改x坐标轴数值,excel怎么设置横坐标标题...
  9. cad转excel插件c2e_CAD表格互转EXCEL插件
  10. 服务器不稳定是什么意思