Word文档规范检查系统剖析.docx
- 文档编号:9478565
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:14
- 大小:170.66KB
Word文档规范检查系统剖析.docx
《Word文档规范检查系统剖析.docx》由会员分享,可在线阅读,更多相关《Word文档规范检查系统剖析.docx(14页珍藏版)》请在冰点文库上搜索。
Word文档规范检查系统剖析
苏州科技大学
电子信息与智能化实验中心
计算机应用综合实践报告
--Word文档格式规范检查系统
专业年级
计算机科学与技术2013级
班级
软件1311
学号
13200126105、13200126131
姓名
王晨杰、褚安石
成绩
指导教师
校内:
张战成
实践地点
实验中心
2016年12月27日
小组任务分配情况
学号
姓名
承担的任务
成绩
13200126105
王晨杰
设计程序,编写代码
13200126131
褚安石
实现页眉修改,编写报告
Word文档格式规范检查系统
摘要
Word文档格式规范检查系统为用户提供了一个能够方便快捷的检查文档格式是否符合规定要求的办公辅助工具。
用户可以实用软件检查用户指定的文档,系统便可以自动地根据用户要求的格式来对该文档进行详尽的检查,并且会对文档的格式按照用户要求进行修改。
尽可能地方便用户的体验。
本系统使用了C#,VS,MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。
VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具等等。
是目前最流行的Windows平台应用程序的集成开发环境。
关键词Word文档、系统、C#、VS
Worddocumentformatspecificationinspectionsystem
Abstract
Worddocumentformatspecificationinspectionsystemprovidesuserswithaconvenienttocheckwhetherthedocumentformatisofficetoolswithinthespecifiedrequirements.Userscanpracticalsoftwareinspectionsspecifiedinthedocument,theformatofthesystemcanautomaticallyaccordingtouserrequirementstothedocumentfordetailedexamination,andthedocumentformatismodifiedaccordingtouserrequirements.Convenientuserexperienceasmuchaspossible.ThissystemUSEStheVS,MicrosoftVisualStudio(VS)isMicrosoft'sdevelopmentkitseriesproductsintheUnitedStates.Visasetofbasiccompletedevelopmenttools,itincludesmostofthetoolsneededinthewholesoftwarelifecycle,controltoolssuchasUMLtools,code,andsoon.IsbyfarthemostpopularWindowsplatformapplicationofintegrateddevelopmentenvironment.
KeywordWorddocuments、System、C#、VS
第1章绪论
1.1引言
在普通的大学生或白领的工作与生活中,需要撰写报告的任务越来越多。
而相应的,每份报告的文档格式都或多或少有着一些不同。
撰写报告本就是一件比较枯燥的事情,而在撰写完成后的检查工作更是让人昏昏欲睡,如果一时不查,在格式上有所偏差,那么提交报告的时候难免会引起不必要的尴尬。
为此,开发一个能够方便快捷地检查报告文档格式的工具就十分必要了。
本项目就是在这样的背景下提出的,旨在开发一个能够让用户即开即用,方便检查报告的辅助办公工具软件。
1.2项目简介
1.2.1项目名称
Word文档格式规范检查系统
1.2.2预期功能
(1)用户可以对指定word文档进行检查;
(2)实现对word文档格式的修改;
(3)用户可以设置字体要求,段落要求等;
(4)用户可以设置页码要求等;
1.3团队介绍
1.3.1成员及分工
成员:
王晨杰、褚安石
王晨杰:
设计程序,编写代码
褚安石:
实现页眉修改,编写报告
第2章开发工具简介
2.1C#简介
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
并且C#成为ECMA与ISO标准规范。
C#看似基于C++写成,但又融入其它语言如Pascal、Java、VB等。
2.2VisualStudio简介
MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。
VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
所写的目标代码适用于微软支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。
VisualStudio是目前最流行的Windows平台应用程序的集成开发环境。
最新版本为VisualStudio2015版本,基于.NETFramework4.5.2。
第3章总体设计
3.1项目需求分析
本项目是关于Word文档格式检查的系统,是一个可以高效率处理办公族对文档的要求的系统
主要实现了指定文档格式规范的检查和修改,设置字体,段落,页码等功能,其中:
(1)word文档检查:
实现了用户指定word文档的格式规范检查;
(2)word文档格式修改:
可以对指定word文档的格式进行按要求的修改,知道符合用户要求;
(3)字体,段落等设置:
用户可以按要求对字体,段落,页码等进行设置,之后系统会按照要求执行修改。
3.2系统概要设计
图3-1系统概要设计图
第4章详细设计
4.1功能设计
页眉与页码:
首先对文档中的页眉进行检查,如果页眉存在,且页眉格式符合标准格式,则不做任何操作,否则清除原有页眉,并直接为文档添加新的符合格式的页眉。
期间用户可以为页眉设置需要的文本。
文档正文:
首先获取文档中的总段落数,然后逐段进行检查。
依靠一个检查算法,可以基本区别出文档大标题,正文中标题和正文。
依照文本的类型不同,对文本进行不同的格式设置。
第5章测试结果
5.1.1测试结果展示:
未修改文档:
操作界面:
修改后文档:
第6章关键代码
6.1关键代码
Word.ApplicationwordApp=newWord.Application();//初始化
Word.DocumentwordDoc;
objectnothing=System.Reflection.Missing.Value;//用于作为函数的默认参数
//wordDoc=wordApp.Documents.Add(refnothing,refnothing,refnothing,refnothing);//生成一个word文档
wordApp.Visible=false;//不打开编辑视图
//获取文件地址
Console.WriteLine("请正确输入要规范格式的文件地址:
");
objectfile=str;
wordDoc=wordApp.Documents.Open(reffile,
refnothing,refnothing,refnothing,refnothing,
refnothing,refnothing,refnothing,refnothing,
refnothing,refnothing,refnothing,refnothing,
refnothing,refnothing,refnothing);
stringtemp=wordDoc.Content.Text.Trim();
Console.WriteLine("修改页眉页脚页码中。
。
。
。
");
wordDoc.PageSetup.HeaderDistance=30.0f;//页眉位置
wordApp.ActiveWindow.View.Type=Word.WdViewType.wdOutlineView;//视图样式。
wordApp.ActiveWindow.View.SeekView=Word.WdSeekView.wdSeekPrimaryHeader;//进入页眉设置,其中页眉边距在页面设置中已完成
wordApp.Selection.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;
wordApp.ActiveWindow.ActivePane.Selection.Delete();
//wordApp.ActiveWindow.ActivePane.Selection.TypeText("a");
//Console.WriteLine("请输入页眉文字:
");
//StringheaderText=Console.ReadLine();
wordApp.ActiveWindow.ActivePane.Selection.InsertAfter(headerText);
//设置页眉为单横线
wordApp.ActiveWindow.ActivePane.Selection.ParagraphFormat.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].LineStyle=Word.WdLineStyle.wdLineStyleSingle;
wordApp.ActiveWindow.ActivePane.View.SeekView=Word.WdSeekView.wdSeekMainDocument;//退出页眉设置
//添加页码
Word.PageNumberspns=wordApp.Selection.Sections[1].Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].PageNumbers;
pns.NumberStyle=Word.WdPageNumberStyle.wdPageNumberStyleNumberInDash;
pns.HeadingLevelForChapter=0;
pns.IncludeChapterNumber=false;
pns.ChapterPageSeparator=Word.WdSeparatorType.wdSeparatorHyphen;
pns.RestartNumberingAtSection=false;
pns.StartingNumber=0;
objectpagenmbetal=Word.WdPageNumberAlignment.wdAlignPageNumberCenter;
objectfirst=true;
wordApp.Selection.Sections[1].Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterEvenPages].PageNumbers.Add(refpagenmbetal,reffirst);
//开始执行段落操作
Console.WriteLine("页眉页脚页码设置完毕。
。
。
");
Console.WriteLine("");
Console.WriteLine("====================段落格式设置=====================");
Console.WriteLine("请输入标题字体:
");
//StringtitleStyle=Console.ReadLine();
Console.WriteLine("请输入正文字体:
");
//StringtextStyle=Console.ReadLine();
Console.WriteLine("请输入标题行距:
");
//floattitleSpacing=float.Parse(Console.ReadLine());
Console.WriteLine("请输入正文行距:
");
//floattextSpacing=float.Parse(Console.ReadLine());
intparagraphsCount=wordDoc.Paragraphs.Count;//总段落数
intnumber=1;//段落计数器
BooleannullOrNot=false;//记录当前段落的上一段落是否为空行
while(number<=paragraphsCount)
{
Word.Rangerang=wordDoc.Paragraphs[number].Range;
Stringstr1=rang.Text.ToString();
if(number==1)
{
rang.ParagraphFormat.LineSpacing=titleSpacing;
rang.Font.Size=30;
rang.Font.Bold=30;
rang.Font.Name=titleStyle;
nullOrNot=false;
}
elseif(str1.ToCharArray().Length<=1)
{
nullOrNot=true;
}
elseif(nullOrNot==true)
{
rang.ParagraphFormat.LineSpacing=titleSpacing;
rang.Font.Size=22;
rang.Font.Bold=30;
rang.Font.Name=titleStyle;
nullOrNot=false;
}
else//if(str1.ToCharArray().Length>=25)
{
rang.ParagraphFormat.LineSpacing=textSpacing;
rang.Font.Size=12;
rang.Font.Bold=0;
rang.Font.Name=textStyle;
nullOrNot=false;
}
//Console.WriteLine(str1);
//Console.WriteLine(ch.Length);
//Console.WriteLine("//");
number++;
}
//保存文档
Console.WriteLine("请正确输文件保存地址和新文件名:
");
objectname=save;
wordDoc.SaveAs(refname,refnothing,refnothing,refnothing,refnothing,refnothing,refnothing,
refnothing,refnothing,refnothing,refnothing,refnothing,refnothing,refnothing,
refnothing,refnothing);
//关闭文档
objectsaveOption=Word.WdSaveOptions.wdDoNotSaveChanges;
wordDoc.Close(refnothing,refnothing,refnothing);
wordApp.Application.Quit(refsaveOption,refnothing,refnothing);
wordDoc=null;
wordApp=null;
6.2设计原理:
依靠.net提供的word类,可以较为简便通过c#代码创建一个word文档修改程序。
通过word类可以获取到一份doc或docx文档的页眉,页脚,页码和所有文本。
将获取到的页眉作为一个对象进行操作,就能实现对页眉的操作了。
通过exist方法可以判断页眉是否存在,进一步可以获得页眉的具体格式,从而与规范格式进行匹配,看是否符合规范。
同样的,页码也可以通过创建pageNumber对象来实现对页码的操作。
对正文的修改则要通过段落来实现。
首先将整篇文档按段落划分好,然后将段落一次放入一个range对象,通过染个对象就可以实现对段落的具体操作了,比如设置字体格式和设置行距。
总结
本软件的设计目的是为了方便办公人士在繁忙中对word文档格式规范进行修改,节约了很大的工作时间。
通过这几个月的课题实践活动,我们学到了很多之前不是很了解的C#开发技术,在软件工程学上更是缺德了很大的进步,经过我们的测试和使用,本软件还是可以为办公人士节约很大时间的便利工具。
总的来说,在这次的课题实践中我们遇到了很多的问题,虽然有些许问题没有被解决,但是大部分的问题我们经过努力已经克服。
通过这个项目,我们也认识到自己知识储备的薄弱,为此我们将坚持不懈地加强学习,向理论学习,向专业知识学习,向身边的同学学习,明确自己未来的定位和,并为之努力。
虽然软件基本达到设计要求并且达到一定水平,但由于我们水平有限,还会有写BUG也在所难免,请将您的意见和建议告诉我们,这可以极大地帮助我们改进和完善。
致谢
感谢我们团队的每一位成员,在几个月一起的努力的合作下完成了此次学科实践课题,也要感谢我们的知道教师张站成老师,在张老师的指导下,少走了许多弯路,张老师认真负责的共组态度,严谨治学的精神和深厚的理论水平都是我们团队受益匪浅,张老师无论在理论上还是实践上,都给予了我们很大的帮助,在这里我们要向他表示真诚的感谢!
还要衷心感谢信息与计算科学系全体老师三年多来对我们团队每个人的教诲,他们不仅使我们的知识能力得到提高,更重要的是教会了我们怎样提高自己的自学能力,怎样去适应社会。
愿苏科大明天更辉煌,全体老师身体健康、心想事成。
参考文献
[1]AndrewTroelsen著朱晔译《C#与.NET4高级程序设计》2011年4月人民邮电出版社
[2]张越廷顾彦玲著《ASP.NET从入门到精通》2008年9月清华大学出版社
[3]陈哲杨成立龚涛著《ASP.NET程序员成长攻略》2007年3月中国水利水电出版社
[4]李彦高博唐继强许惠彬著《ASP.NET4.0MVC敏捷开发给力起飞》2011年9月电子工业出版社
[5]张昌龙辛永平著《ASP.NET4.0从入门到精通》2011年1月机械工业出版社
[6]AdamFreemanStevenStanderson著《ProASP.NETMVC3Framework》2012-5Apress
[7]马伟著《ASP.NET4权威指南》2011年1月机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Word 文档 规范 检查 系统 剖析