openxml(二) 添加页眉,页脚
openxml 中 word 文档的结构是如下图:

其中,页眉是 header,属于headerpart 部件,页脚是footer,属于footerpart 部件,图上还有其他的东西,之后会一一介绍。这些部件都属于MainDocumentPart 部件。之前讲过了 一个包(package)就是一个word文件。
<maindoucmentpart>
<headerpart>
<header>..........其他东西.......</header>
</headerpart>
<document>
<body>.........</body>
</document>
<footerpart>
<footer>........</footer>
</foooterpart>
</maindoucmentpart>
大概是这样子的关系。
页眉和页脚的对应的,页眉有三种,1.首页的页面(选择首页不同的话,这个会显示) 2.偶数页页面(选择奇偶页不同的话,这个会显示),3.默认页面(什么都不选,默认显示这个)。页脚也有三种与页面对应。
添加页眉,页脚的代码如下:
using (WordprocessingDocument packaging = WordprocessingDocument.Create("test.docx", WordprocessingDocumentType.Document)) { MainDocumentPart maindocumentpart = packaging.AddNewPart<MainDocumentPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", "r001");
Document doc = new Document(); doc.Body = new Body(); maindocumentpart.Document = doc; maindocumentpart.Document.Body.AppendChild<Paragraph>(new Paragraph(new Run(new Text() { Text = "测试" })));
#region 页眉 Header header1 = new Header(new Paragraph(new Run(new Text() { Text = "header1" }))); Header header2 = new Header(new Paragraph(new Run(new Text() { Text = "header2" }))); Header header3 = new Header(new Paragraph(new Run(new Text() { Text = "header3" }))); maindocumentpart.AddNewPart<HeaderPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml", "r002").Header = header1; maindocumentpart.AddNewPart<HeaderPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml", "r003").Header = header2; maindocumentpart.AddNewPart<HeaderPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml", "r004").Header = header3; #endregion
#region 页脚 Footer footer1 = new Footer(new Paragraph(new Run(new Text() { Text = "footer1" }))); Footer footer2 = new Footer(new Paragraph(new Run(new Text() { Text = "footer2" }))); Footer footer3 = new Footer(new Paragraph(new Run(new Text() { Text = "footer3" }))); maindocumentpart.AddNewPart<FooterPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", "r005").Footer = footer1; maindocumentpart.AddNewPart<FooterPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", "r006").Footer = footer2; maindocumentpart.AddNewPart<FooterPart>("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", "r007").Footer = footer3; #endregion /*设置 页眉,页脚和页面关系*/ SectionProperties sp = new SectionProperties( new HeaderReference() { Id = "r002", Type = HeaderFooterValues.First }, new HeaderReference() { Id = "r003", Type = HeaderFooterValues.Even }, new HeaderReference() { Id = "r004", Type = HeaderFooterValues.Default }, new FooterReference() { Id = "r005", Type = HeaderFooterValues.First }, new FooterReference() { Id = "r006", Type = HeaderFooterValues.Even }, new FooterReference() { Id = "r007", Type = HeaderFooterValues.Default }); maindocumentpart.Document.Body.AppendChild<SectionProperties>(sp); }
openxml(二) 添加页眉,页脚的更多相关文章
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
转:http://www.cnblogs.com/lantionzy/archive/2009/10/23/1588511.html 1.新建Word文档 #region 新建Word文档/// &l ...
- C# 如何添加Excel页眉页脚(图片、文字、奇偶页不同)
简介 我们可以通过代码编程来对Excel工作表实现很多操作,在下面的示例中,将介绍如何来添加Excel页眉.页脚.在页眉处,我们可以添加文字,如公司名称.页码.工作表名.日期等,也可以添加图片,如LO ...
- 用什么方法给PDF添加页眉页脚
我们所看到的书本中都会设置好有页眉页脚,那么电子书想要添加页眉页脚要怎么操作呢,用什么方法可以在PDF中添加页眉页脚呢,今天就为大家分享一下,如何在电子文件中添加页眉页脚,想知道的小伙伴们就一起来看看 ...
- ★itext-为pdf文件添加页眉页脚 | 3步完成 |
由于上一篇自定义生成pdf的功能需求又增加了,需要加上页码.所以本博客诞生了~ 1. 通过继承PdfPageEventHelper类,实现需要实现的方法 import com.lowagie.text ...
- itext 生成pdf文件添加页眉页脚
原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...
- iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片
本文为了记录自己的实现过程,具体的实现步骤是参考博文 https://www.cnblogs.com/youzhibing/p/7692366.html 来实现的,只是在他的基础上添加了页眉页脚及页眉 ...
- ABBYY FineReader 15 如何为PDF文档添加页眉页脚
页眉.页脚是文档页面顶部或底部重复出现的文本信息.很多用户会习惯在文档页面的顶部与底部区域添加页眉.页脚来展现页码.文档标题.作者姓名.品牌名称等附加信息.而ABBYY FineReader 15(W ...
- 【Itext】7步制作Itext5页眉页脚pdf实现第几页共几页
itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...
- word页眉页脚 首页 索引 正文各不同的处理方法
1.在目录和正文之间,加入分隔符——分节符——下一页,然后再添加页眉页脚,然后再添加索引:
- C# 操作Word页眉页脚——奇偶页/首页不同、不连续设置页码、复制页眉页脚、锁定页眉页脚、删除页眉页脚
前言 本文是对Word页眉页脚的操作方法的进一步的阐述.在“C# 添加Word页眉页脚.页码”一文中,介绍了添加简单页眉页脚的方法,该文中的方法可满足于大多数的页眉页脚添加要求,但是对于比较复杂一点的 ...
随机推荐
- Linq to SQL 的增删改查操作
Linq,全称Language Integrated Query,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中. Linq分为查询语法和方法语法,说白了查询语法就是 from wher ...
- 通过servlet实现几个网站常用的功能
帮朋友写的小程序,由于功能比较简单所以就偷懒只使用了Servlet 一.JSP页面部分(这个部分的设置比较粗糙,主要是为了查看功能能否实现,如果需要向用户展示还得修饰一下) 1)功能页(所有需要后台实 ...
- Spark之键值RDD转换(转载)
1.mapValus(fun):对[K,V]型数据中的V值map操作(例1):对每个的的年龄加2 object MapValues { def main(args: Array[String]) { ...
- 《编写可维护的JavaScript》——JavaScript编码规范(二)
昨天是我偶像生日,现在整个人都还好兴奋啊O(∩_∩)O~ 闲话少说,让我先发篇随笔留念一下^_^ ////////////////////////////////正文分割线///////////// ...
- #听云博客大赛#如何在自己的App嵌入听云产品监控App性能
近日浏览园子文章的时候,发现博客园与听云正在举办“听云原创博文”大赛.最近手上正好正在开发一款iOS的应用,所以就用听云App来监测一下我的App各个指标,为我的应用保驾护航.下面,我就从头到尾演示下 ...
- Android性能分析之TraceView的使用
TraceView简介 TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析. TraceView是图形化的工具,最终它会产 ...
- angular的$scope
angularJS是一个MVVM的前端js框架. $scope的作用是angular向视图(html)传递数据的通道,它不负责处理和操作数据.也就是说要想向视图传递数据的话,必须定义$scope变量. ...
- js sql C#时间、时间戳相互转换
js. sql. C#时间.时间戳相互转换 //1.获取当前时间戳_c# ) / //2.时间戳->时间 C# DateTime b11 = GetTime(");//11位时间戳-& ...
- IOS的H5页面滑动不流畅的问题:
IOS的H5页面滑动不流畅的问题: -webkit-overflow-scrolling : touch; 需要滑动的是哪块区域,就在哪里加上这段代码就OK
- django queryset values&values_list
values返回是字典列表; values_list返回的是元组列表, values_list加上 flat=True 1 1 之后返回值列表