`
心-云
  • 浏览: 21339 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javascript对word文档进行页眉页脚套打

阅读更多
word的套打,一般都是使用文本域,然后通过js脚本对文本域处理,插入对应的值。
word的页眉页脚貌似弄不了文本域,所以只能单独处理。
页眉页脚也是需要样式的,这个刚开始的时候有点走弯路了,啥靠左靠右空行之类的,搞到头疼。
下班公车上,无聊的望着窗外,脑袋里还想着如何实现,突然一个东西冒了出来,table,对,就是这个东西。


话不多说,先上效果图:

页眉:


页脚:


js代码片段:
//处理页眉  objWord 公文对象
objWord.ActiveWindow.View.SeekView = 9;//打开页眉

objWord.ActiveWindow.Selection.ParagraphFormat.Alignment = 1;//居中

var table = objWord.Tables.Add(objWord.ActiveWindow.Selection.Range,6,6);

table.Borders.OutsideLineStyle = 0;//设置边框不显示
table.Borders.InsideLineStyle = 0;
				
table.Cell(1,1).Merge( table.Cell(1,6) ); //合并单元格
table.Cell(1,1).range.InlineShapes.AddPicture(barcodePath); //插入条形码图片  barcodePath图片临时文件路径
				
table.Cell(2,1).Merge( table.Cell(2,5) ); 
table.Cell(2,1).range.ParagraphFormat.Alignment = 2;//靠右
table.Cell(2,1).range.Text="办文编号";
table.Cell(2,1).range.Font.Bold=true  ;
table.Cell(2,1).range.Font.Name="黑体"  ;
table.Cell(2,1).range.Font.Size=13.5  ;
				
table.Cell(2,2).range.ParagraphFormat.Alignment = 0;//靠左
table.Cell(2,2).range.Font.Bold=false  ;
table.Cell(2,2).range.Font.Name="黑体"  ;
table.Cell(2,2).range.Font.Size=13.5  ;
table.Cell(2,2).range.Text="000000000000";
				
table.Cell(3,1).Merge( table.Cell(3,6) );	
				
table.Cell(4,1).Merge( table.Cell(4,6) );

table.Cell(4,1).range.ParagraphFormat.Alignment = 1;//居中

table.Cell(4,1).range.Font.Bold=false  ;
table.Cell(4,1).range.Font.Name="方正小标宋_GBK"  ;
table.Cell(4,1).range.Font.Size=22  ;
table.Cell(4,1).range.Text="xxxxxxxxxxxxxxxxx";
			
table.Cell(5,1).Merge( table.Cell(5,6) );

table.Cell(6,5).range.Text="密级:";
table.Cell(6,5).range.Font.Bold=true  ;
table.Cell(6,5).range.Font.Name="黑体"  ;
table.Cell(6,5).range.Font.Size=13.5  ;
table.Cell(6,5).Width="4";
table.Cell(6,5).range.ParagraphFormat.Alignment = 2;
				
table.Cell(6,6).range.Font.Name="仿宋GB2312";
table.Cell(6,6).range.Font.Size=13  ;
table.Cell(6,6).range.ParagraphFormat.Alignment = 0;
table.Cell(6,6).range.Text="密级";

objWord.ActiveWindow.View.SeekView = 10;//打开页脚
	
objWord.ActiveWindow.Selection.ParagraphFormat.Alignment = 1;
				
var tableEnd = objWord.Tables.Add(objWord.ActiveWindow.Selection.Range,2,7);
				
tableEnd.Borders.OutsideLineStyle = 1;//设置边框显示
tableEnd.Borders.InsideLineStyle = 1;
				
tableEnd.Cell(1,1).range.Text="公开属性";
tableEnd.Cell(1,1).range.Font.Bold=true  ;
tableEnd.Cell(1,1).range.Font.Name="黑体"  ;
tableEnd.Cell(1,1).range.Font.Size=12.5  ;
tableEnd.Cell(1,1).Width="2.2";
tableEnd.Cell(1,1).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(1,2).range.Text="";
tableEnd.Cell(1,2).range.Font.Bold=false  ;
tableEnd.Cell(1,2).range.Font.Name="黑体"  ;
tableEnd.Cell(1,2).range.Font.Size=12.5  ;
tableEnd.Cell(1,2).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(1,3).range.Text="校对";
tableEnd.Cell(1,3).range.Font.Bold=true  ;
tableEnd.Cell(1,3).range.Font.Name="黑体"  ;
tableEnd.Cell(1,3).range.Font.Size=12.5  ;
tableEnd.Cell(1,3).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(1,4).range.Text="";
tableEnd.Cell(1,4).range.Font.Bold=false  ;
tableEnd.Cell(1,4).range.Font.Name="黑体"  ;
tableEnd.Cell(1,4).range.Font.Size=12.5  ;
tableEnd.Cell(1,4).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(1,5).range.Text="";
tableEnd.Cell(1,5).range.Font.Bold=false  ;
tableEnd.Cell(1,5).range.Font.Name="黑体"  ;
tableEnd.Cell(1,5).range.Font.Size=12.5  ;
tableEnd.Cell(1,5).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(1,6).range.Text="";
tableEnd.Cell(1,6).range.Font.Bold=false  ;
tableEnd.Cell(1,6).range.Font.Name="黑体"  ;
tableEnd.Cell(1,6).range.Font.Size=12.5  ;
tableEnd.Cell(1,6).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(1,7).range.Text="";
tableEnd.Cell(1,7).range.Font.Bold=false  ;
tableEnd.Cell(1,7).range.Font.Name="黑体"  ;
tableEnd.Cell(1,7).range.Font.Size=12.5  ;
tableEnd.Cell(1,7).range.ParagraphFormat.Alignment = 1;
				
tableEnd.Cell(2,1).Merge( tableEnd.Cell(2,5) );
tableEnd.Cell(2,2).Merge( tableEnd.Cell(2,3) );
tableEnd.Cell(2,1).range.Text="电话:";
tableEnd.Cell(2,1).range.Font.Bold=true  ;
tableEnd.Cell(2,1).range.Font.Name="黑体"  ;
tableEnd.Cell(2,1).range.Font.Size=12.5  ;
tableEnd.Cell(2,1).range.ParagraphFormat.Alignment = 0;
tableEnd.Cell(2,1).Borders.OutsideLineStyle = 0;//不显示边框
				
tableEnd.Cell(2,2).range.Text="页号:";
tableEnd.Cell(2,2).range.Font.Bold=true  ;
tableEnd.Cell(2,2).range.Font.Name="黑体"  ;
tableEnd.Cell(2,2).range.Font.Size=12.5  ;
tableEnd.Cell(2,2).range.ParagraphFormat.Alignment = 0;
tableEnd.Cell(2,2).Borders.OutsideLineStyle = 0;

objWord.ActiveWindow.View.SeekView = 0;//关闭页眉页脚


代码其实还可以继续优化下,先这样吧,越来越懒了~
(条形码、二维码图片的生成,前面我也有写,需要的童鞋可以参考)
(还有个问题,一直没解决,就是如何获取当前页码,有知道的童鞋可以分享下不?)
0
0
分享到:
评论

相关推荐

    js导出Word默认页面视图、横向显示、分栏、设置固定页眉

    总的来说,利用JavaScript导出Word文档并进行特定的页面布局和格式设置,需要对HTML、CSS以及相关的库有深入的理解。这是一个涉及多方面技术的综合任务,但通过不断学习和实践,开发者可以创建出高度定制化的Word...

    js导出到word并产生目录

    本文档将详细介绍如何在MyEclipse环境中,通过JavaScript(简称JS)实现从JSP页面中提取表格数据,并将其导出至Microsoft Word文档的功能。此外,我们还将探讨如何在Word文档中自动生成目录,方便用户快速定位文档中...

    Java读取word文档内容并输出成网页(含图片,公式)

    在实际操作中,你还需要处理一些细节问题,例如处理样式、列表、页眉和页脚等。此外,确保所有输出文件的编码都是UTF-8,以避免出现乱码问题。完成上述步骤后,你就可以通过运行Java程序将Word文档转换为网页,保持...

    js 实现套打功能

    在IT行业中,"套打"通常指的是按照预设的模板打印文档或数据,这在诸如发票、收据、标签等批量打印场景中非常常见。在Web应用中,使用JavaScript(简称js)实现套打功能可以提供灵活的前端解决方案,允许用户在...

    java实现word在线编辑及流转

    这通常涉及到用户无需下载文件到本地,即可在浏览器中直接编辑Word文档,并能进行版本控制和协同工作。PageOffice组件是一个强大的工具,它能够帮助开发者轻松地集成这种功能到他们的应用中。 PageOffice是由北京...

    PDF转Word(互转)

    - **版面布局**:保持段落间距、页眉页脚、页码等元素的原始布局。 - **字体兼容性**:转换工具需要处理不同字体,确保转换后的DOC文件在没有特定字体的情况下仍能正常显示。 总之,选择如Solid Converter v10这样...

    WEB页面导出为EXCEL,word文档的方法.rar

    1. **内容构建**:创建Word文档的基本结构,包括页眉、页脚、段落、标题等。这涉及到创建XML文档片段,然后将其组合成一个完整的DOCX档案。 2. **样式定义**:Word文档的样式可以通过调整`docx`库中的样式对象来...

    word内容提取 word转html-POI wps doc docx转html

    在IT行业中,文档处理是一项常见的任务,特别是在需要跨平台共享或者网络展示时,将Word文档转换为HTML格式...在实际应用中,根据具体需求,还可以扩展功能,例如添加对超链接的支持、保留原始文档的页眉和页脚信息等。

    word文档转HTML

    6. **处理复杂格式**:Word可能包含复杂的排版和样式,如页眉、页脚、页码、目录等。这些需要额外处理,可能需要用到CSS和JavaScript来重现。 7. **保存和展示**:将生成的HTML保存到文件或直接在浏览器中展示。 ...

    js word 插件的范例

    JavaScript Word 插件是一种在网页端处理文档的强大工具,它允许用户在浏览器环境中创建、编辑和操作Microsoft Word文档。在现代Web应用中,这种技术尤其适用于在线协作、文档分享和远程工作场景。以下是对这个“js ...

    java html 转word word 转pdf

    在使用Aspose.Words和Aspose.PDF进行转换时,还要注意处理一些特殊情况,如图片、表格、页眉页脚、页码、超链接等。这些元素在HTML、Word和PDF之间可能存在差异,需要正确地映射和转换。此外,对于复杂的CSS样式和...

    新建 Microsoft Word 文档.rar_1DDU_cloudek4_分类

    12. **分类技术**:使用编程代码对Word文档进行智能分类,如根据文件内容、创建日期或作者进行自动分类。 这些知识点覆盖了从基础的文档编辑到高级的自动化工作流程,对于任何使用Word处理文档的人来说都是宝贵的...

    tinymce.rar

    尤其对于企业、教育机构和个人博客等,经常需要处理来自Word文档的文本,同时还需要进行图片上传、表格编辑等操作。Tinymce作为一款强大的在线编辑器,以其丰富的功能和易用性,深受开发者和用户的喜爱。本文将详细...

    打印多份文档

    这包括隐藏某些元素、调整布局以适应纸张大小以及控制页眉和页脚等内容。 在JavaScript中,可以使用`window.print()`函数来调用浏览器的打印对话框,让用户选择打印设置,包括打印份数。然而,如果想要更精细地控制...

    Java通过IText导出word和pdf所有jar

    Java是一种广泛使用的编程语言,尤其在企业级应用开发中占据主导...综上所述,这个压缩包提供了Java项目中用于生成PDF和Word文档所需的库,同时考虑了Spring框架的集成,适合需要进行文档导出功能的Java开发者使用。

    SpireDoc word打印.rar

    它提供了丰富的API,使得开发者能够进行复杂的Word文档操作,包括格式化文本、插入图片、表格、页眉页脚等,以及转换文档格式。 接下来,我们探讨如何在ASP.NET ASPX页面中使用C#语言实现Word文件的打印功能: 1. ...

    tinymce富文本编辑器

    Powerpaste是Tinymce的一个插件,专门用于处理从Word、Excel等应用程序复制过来的带格式的文本。它能智能识别并保留原始格式,避免了常见的粘贴后格式混乱的问题。这对于经常需要从Office文档复制内容到网页的用户来...

    在线打印控件

    在JavaScript层面,Lodop6.1提供了丰富的API函数,允许开发者进行精细的打印设置,例如选择打印机、设置页边距、控制打印范围、添加页眉页脚等。这些API使得在线打印功能可以灵活定制,以满足不同应用场景的需求。...

    用JS操作WORD、EXCEL导出

    4. 插入元素:添加图片、超链接、表格、页眉和页脚等。 5. 导出文档:将Word文档保存为PDF或者其他格式,以便于分享或打印。 在Excel方面,JavaScript可以: 1. 数据操作:读取、写入单元格数据,处理工作表和工作...

    Word2CHM(帮助文件制作)

    它支持丰富的文本格式化、图像插入、表格创建、页眉页脚设置等功能,方便用户创建内容丰富的文档。 2. **CHM文件格式**:CHM是Windows操作系统下的编译帮助文件格式,基于HTML技术。它通过HTML、CSS和JavaScript等...

Global site tag (gtag.js) - Google Analytics