2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > NPOI 操作word 创建页眉页脚 页眉中插入图片

NPOI 操作word 创建页眉页脚 页眉中插入图片

时间:2020-02-23 21:56:28

相关推荐

NPOI 操作word 创建页眉页脚 页眉中插入图片

使用NPOI操作word,在制作页眉页脚中有个特殊的需求,在页眉中插入图片,在网上查找许久,终于是有个可以实现在也没中插入图片,但是是以inline方式在页眉中,这种方式不能很好的满足图片位置的调整,需要修改源码,加上可以设置锚点的方式插入图片(还没有实现,实现了再来记录)

1,在页眉中插入图片所使用的NPOI版本是/download/dengxt/10824550

结果图如上:

2,非插入图片,页眉页脚都是文字

XWPFDocument m_Docx = new XWPFDocument();//创建文档m_Docx.Document.body.sectPr = new CT_SectPr();CT_SectPr m_SectPr = m_Docx.Document.body.sectPr;//创建页脚CT_Ftr m_ftr = new CT_Ftr();m_ftr.AddNewP().AddNewR().AddNewT().Value = "我是页脚";//创建页脚关系(footern.xml)XWPFRelation Frelation = XWPFRelation.FOOTER;XWPFFooter m_f = (XWPFFooter)m_Docx.CreateRelationship(Frelation, XWPFFactory.GetInstance(), m_Docx.FooterList.Count + 1);//设置页脚m_f.SetHeaderFooter(m_ftr);CT_HdrFtrRef m_HdrFtr1 = m_SectPr.AddNewFooterReference();m_HdrFtr1.type = ST_HdrFtr.@default;m_HdrFtr1.id = m_f.GetPackageRelationship().Id;//创建页眉CT_Hdr m_Hdr = new CT_Hdr();m_Hdr.AddNewP().AddNewR().AddNewT().Value = "我是页眉";//页眉内容//创建页眉关系(headern.xml)XWPFRelation Hrelation = XWPFRelation.HEADER;XWPFHeader m_h = (XWPFHeader)m_Docx.CreateRelationship(Hrelation, XWPFFactory.GetInstance(), m_Docx.HeaderList.Count);//设置页眉m_h.SetHeaderFooter(m_Hdr);CT_HdrFtrRef m_HdrFtr2 = m_SectPr.AddNewHeaderReference();m_HdrFtr2.type = ST_HdrFtr.@default;m_HdrFtr2.id = m_h.GetPackageRelationship().Id;//保存文件string docPath = bine(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(bine(docPath, fileName), FileMode.Create);m_Docx.Write(out1);out1.Close();

3,页眉插入图片,页脚文字

XWPFDocument m_Docx = new XWPFDocument();m_Docx.Document.body.sectPr = new CT_SectPr();CT_SectPr m_SectPr = m_Docx.Document.body.sectPr;//创建页脚CT_Ftr m_ftr = new CT_Ftr();m_ftr.AddNewP().AddNewR().AddNewT().Value = "im yejiao";//页脚内容//创建页脚关系(footern.xml)XWPFRelation Frelation = XWPFRelation.FOOTER;XWPFFooter m_f = (XWPFFooter)m_Docx.CreateRelationship(Frelation, XWPFFactory.GetInstance(), m_Docx.FooterList.Count + 1);//设置页脚m_f.SetHeaderFooter(m_ftr);CT_HdrFtrRef m_HdrFtr1 = m_SectPr.AddNewFooterReference();m_HdrFtr1.type = ST_HdrFtr.@default;m_HdrFtr1.id = m_f.GetPackageRelationship().Id;//创建页眉CT_Hdr m_Hdr = new CT_Hdr();// m_Hdr.AddNewP().AddNewR().AddNewT().Value = "im yemei";//页眉内容//创建页眉关系(headern.xml)XWPFRelation Hrelation = XWPFRelation.HEADER;XWPFHeader m_h = (XWPFHeader)m_Docx.CreateRelationship(Hrelation, XWPFFactory.GetInstance(), m_Docx.HeaderList.Count);//设置页眉m_h.SetHeaderFooter(m_Hdr);CT_HdrFtrRef m_HdrFtr2 = m_SectPr.AddNewHeaderReference();m_HdrFtr2.type = ST_HdrFtr.@default;m_HdrFtr2.id = m_h.GetPackageRelationship().Id;m_Docx.Document.body.sectPr = new CT_SectPr();m_SectPr = m_Docx.Document.body.sectPr;//页面设置A4横向//m_SectPr.pgSz.w = (ulong)16838;//m_SectPr.pgSz.h = (ulong)11906;// Add the picture + relationshipFileStream pictureData = null;pictureData = new FileStream("../../image/3.jpeg", FileMode.Open, FileAccess.Read);//设置页眉m_h.SetHeaderFooter(m_Hdr);m_h.AddPicture(pictureData, (int)PictureType.JPEG, "3.jpeg", 7000000, 1000000);CT_HdrFtrRef m_HdrFtr = m_SectPr.AddNewHeaderReference();m_HdrFtr.type = ST_HdrFtr.@default;m_HdrFtr.id = m_h.GetPackageRelationship().Id;//保存文件到磁盘WinForm string docPath = bine(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(bine(docPath, fileName), FileMode.Create);m_Docx.Write(out1);out1.Close();

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。