1.引言
WORD电子签名插件,支持手写、本地电子图章、以及网络图章功能。软件使用VC6,以ATL方式编写,软件小巧精致。
这是我学习ATL的成果,学习过程及程序的编写,前前后后共用了一个多月的时间,花了不少的心血。其间遇到了不少困难,终于都一一解决了。这要感谢www.csdn.net 上的热心朋友,从他们的BLOG文章中,我获得了不少灵感。现在这个软件基本完成了,全部实现了我自己定的设计需求,自己觉得这个软件还有一定的用处,就把它的测试版发布一下,希望使用者多提宝贵意见。
注:测试版没有任何的功能限制,只是“关于”对话框中显示测试版字样。
2.功能
可以完成手写签名及插入签章的功能。插入签名或签章后,可以监控WORD文档是否被修改。软件的使用界面很简单,只是在WORD里插入了一个工具栏,上面有三个按钮。其它的功能在插入的签名或签章上按右键根据弹出菜单选择执行。
印章支持多种格式图片,如BMP,JPG,GIF(静止的)等,使用时用印章管理工具把这些导入到印章库即可。
印章库管理密码:12345
几个内置的印章使用密码:111111
3.软件的使用:
使用windows系统带的控件注册工具regsvr32.exe,注册一下XXHSignature.dll即可;或者直接运行当前目录下的Register.exe,也可完成注册。这样打开word就可以看到签名工具栏。
软件包含以下几个文件:
steal.mdb 印章库。
xxhsignature.ini 配制文件,如果没有会自动生成。
XXHSignature.dll WORD2003的COM加载项。程序的主体。
Register.exe 注册/卸载XXHSignature.dll用,可以不使用,直接使用regsvr32。
register.bat 注册的快捷方式,调用register.exe。纯属辅助,方便使用。
unregister.bat 卸载的快捷方式,带命令行参数调用register.exe。纯属辅助,方便使用。
StealManager.exe 印章管理工具。
说明文档.txt 说明文档。
软件使用VC6、ATL开发,没有使用MFC,所以每个软件都很小巧。
我在开发时使用的环境为XP、WORD2003,对软件在其它环境下没有进行过测试,不知道存不存在兼容问题。期待大家的反馈,可以给我发EMAIL,或者到我的博客留言。
如果程序运行有问题,可以使用Unregister.bat或regsvr32 /u将其卸载即可。也可以使用WORD的加载项管理菜单(该菜单默认时不显示,可以点击工具->自定义中找到使之显示),禁止插插件启动时运行。
另外:软件编译为UNICODE,对WIN98肯定是不支持。
欢迎转载,转载时请不要删除这些信息。谢谢。
2006-04-25
作者:wallimn
email:wallimn@sohu.com
QQ:54871876
博客:http://blog.csdn.net/wallimn
1.1版更新
新版的进行了以下几项改进:
a.签名及签字对文档内容、文档字体颜色以及文档字体大小敏感,也就是说:修改文档内容、文档中任意字的字体颜色或大小,都会导致文档签名失效。这是个很重要的功能,不知大家有没有意识到。试想一下,如果对合同签字,合同金额为100000,在WORD里将数字的后几个0改成白色,如果签名不对字体颜色敏感,那么签名仍然有效,而合同金额看起来就锐减了。所以说,对字体颜色及大小不敏感,是个很严重的漏洞。市场上的几款其它签名软件基本都有这个漏洞。
b.修改了WORD中签名工具栏有时不显示的BUG。
c.当文档签名失效时,重新打开文档的时候,会显示个红叉,直观的显示签名失效。
2008-02-23
1.2版更新
添加了读取网络图章功能,可以通过HTTP协议读取放在远程网络上的图章。不需要专门的图章服务器,可以使用任意的WEB服务提供程序,如IIS,tomcat等,将软件包中的web目录部署(白话:拷贝)到WEB的某个目录(tomcat中,考到某个上下文)就可以了。
然后在“网络图章”对话框中,输入对应的地址,如:http://127.0.0.1/web ,点刷新就可以了。
2008-10-17
联系:wallimn@sohu.com
软件下载:http://wallimn.ys168.com
附:
Word手写签名插件(COM加载项、VC6.0ATL)开发思路
写这个东东,其实就是写一个COM加载项。用VC开发,可以使用MFC、也可以使用ATL;用VB也是个不错的选择。我最终选用了ATL。主要是VC我用得比较多,而ATL通过模板库会给开发带来极大的便利,因此选用了VC使用ATL方式开发。事实证明我的选择是正确的。
使用VB调用COM接口要相对要方便一些,VB可以很方便地对COM进行编程,编程中也可以直接使用Word的宏代码,基本不用做代码转换。VB不好的地方:发布的时候要带它的运行时库(有点大),还有就是VB的运行效率比不上VC(不过小工程不明显)。
开始编程,使用VC向导,可以很快的生成COM的框架,然后向工程里插入一个simple object(在菜单插入->插入ATL对象里面)。通过这个对象来改变WORD的菜单、TOOLBAR,这方面的文章很多,我的开发就是借鉴了徐景周的一篇文章,到网上找一下,很多转载(我发现网上原创的东西实在不多呀)。这样一个简单的COM加载项的框架就建好了。
手写签名部分的实现,这部分都是一些相对编程者容易的问题。简单说一下,首选插入一个对话框(在菜单插入->插入ATL对象里面),加入几个按钮,写一个单向链表用来存签名的笔画,用兼容DC、兼容位图、OleCreatePictureIndirect,把图片创建成一个IPictureDisp对象,以供下面的使用。
再插入一个Full Control对象,方法同上。把上面一步生成的IPictureDisp写进Full Control对象,再调用WORD的AddOleCtrol方法将这个东东插入就可以了。
这就是一个简单的流程。说的很粗略,因为不知道感兴趣的人多不多。
在开发的过程中我遇到了以下这样一些问题,后来慢慢解决了,如果大家有兴趣可以来交流一下。
1. 如何在插入对象中取到WORD的ActiveDocument的指针(这个不能通过保存的方法来)。
取Container的指针,再查IDispatch的接口。
2. 如果在程序里控制控件的删除,如在控件内点击,通过上下文菜单文菜单删除控件。
可以给控件设置一下标志,然后通过Word的方法遍历对象组,检查对应的标志,然后删除。
3. 如何保存。
可以重载框架的Save和Load方法,把对象的相关属性保存。这两个方法会由WORD自动调用。
4. 如何使用TOOLTIP。
这个在MSDN里有详细的帮助,可以参照解决。
5. 如何移动控件。
处理控件的OnLButtonDown/OnMouseMove/OnLButtonUp消息,然后通过Word的方法移动控件。
简单写了一下思路,欢迎交流。
分享到:
相关推荐
WORD电子签名插件,支持手写、本地电子图章、以及网络图章功能。软件使用VC6,以ATL方式编写,软件小巧精致。 这是我学习ATL的成果,学习过程及程序的编写,前前后后共用了一个多月的时间,花了不少的心血。其间...
Word电子签章控件的实现是这一技术在办公软件中的应用,允许用户在Word文档中添加具有法律效力的电子签名。本文将详细探讨这一主题,包括Word签章的基本原理、实现过程以及相关的技术要点。 首先,理解电子签章的...
总结起来,"WORD/EXCEL PDF 电子签章、个人签名 转PDF"这个工具提供了一站式的解决方案,涵盖了文档格式转换、电子签名添加和电子签章应用等多个环节,对于需要在电子文档上确保安全和合法性的用户来说,这是一个...
WORD2003签名签章插件 1.前言 这是我学习ATL的成果,学习过程及程序的编写,前前后后共用了一个多月的时间,花了不少的心血。其间遇到了不少困难,终于都一一解决了。这要感谢www.csdn.net上的热心朋友,从他们的...
电子签名是一种在数字化环境下验证身份和同意文档内容的技术,它在信息安全和法律效力上与传统的手写签名具有同等地位。随着互联网技术的发展,越来越多的业务和文件处理转向线上,电子签名成为了不可或缺的一部分,...
它可在WORD、EXCEL、HTML(WEB页面)、PDF、CAD图纸签章、TIF传真签章、XML数据签章、FORM表单、WPS文字、FILE文件签名、永中OFFICE以及自主知识产权的GDFTM版式文件上实现手写电子签名和加盖电子印章;并可将签章和...
未来版本的预告中,该软件计划支持手写签名。手写签名功能将为用户提供更加个性化的签署方式,用户可以通过鼠标或触摸设备模拟真实的笔迹,进一步提升签名的真实感和法律效力。 【标签】中提到的"PKI"(Public Key ...
2. **NTKO安全手写签章**:该工具支持手写签章功能,用户可以使用鼠标或触控设备在文档上添加个性化的手写签名,增加文档的个人化特色和正式感。 3. **集成Office应用程序**:NTKO Office签章工具无缝集成到...
"带签章手写"的功能意味着WebOffice不仅支持基本的文档操作,还集成了电子签名和手写输入的能力,这对于需要在文档上进行合法签名或个性化注解的应用场景非常有用。 1. **WebOffice简介** WebOffice是一款基于B/S...
签章功能在文档处理和电子签名领域至关重要,它提供了验证和确认文档完整性和未经许可修改的证据。在基于`richeditor`的系统中,签章功能可能意味着用户能够直接在编辑器内添加图形签名或者数字化签名。图形签名允许...