DSOFramer 控件(转)
1.Html电子印章、手写签名系统
演示:http://www.dianju.com.cn/video.htm
在线试用:
http://www.dianju.com.cn/websignpiaoju/
http://www.dianju.com.cn/websigndemo/
2.Word、Excel 电子印章,手写签名系统:
演示版:
http://www.dianju.com.cn/video.htm
下载:
http://www.dianju.com.cn/downloads/des/DES_Setup_File.rar
开发商:北京点聚信息技术有限公司
网址: http://www.dianju.com.cn
公安部安全认证产品!
电子印章、电子签章、电子签名、全文批注、领导签批、安全文档整体解决方案。
点聚电子签章系统特点
1.实现在Word、Excel、Html、PDF、AutoCAD、WPS、RedOffice、SunOffice上加盖印章。
2.采用高度安全机制。
3.手写签批效果,笔迹采用压感处理,用户可以很容易写出毛笔、钢笔等带笔锋的效果。
4.系统提供标准接口,可供客户进行二次开发和各种功能整合。
5.支持多种印章保护控制,有效保护印章的安全。
... ....
==============================================================
20061123:
转移战场了。http://www.dsoframer.com
免费的空间
------------------------------------------------------
下面接口添加完毕:
1。文档打开、可写密码设置
2。支持Open Http下的文件的 相对路径打开
3。支持对文档中域的自动更新
4。支持创建本地文件,和删除文件
5。获取所有的修订的信息
6。获取所有书签的信息
本周末更新。文档还没写好。
20061120
Thanks For Fred
QQ群:22190338 群已经快满了。请想加入者给群充Q币先。
20060610:
目前版本 :V2.2
修改后的DSOFrmaer源代码下载:http://www.cppblog.com/Files/wanhhf/DSO_WebOffice_Open_V2.2.rar
1。笨笨修改原版本中的 Post时候,为加 Head ,的Bug。(Thanks )
2. 增加了FTP的功能。
20060521:
Word,Excel接口文档下载:http://wanhhf.googlepages.com/OfficeSDK_V9.0.rar
修改后的DSOFrmaer源代码下载:http://www.cppblog.com/Files/wanhhf/DSOFramer_Open_V2.0.rar
编译好的DSOFramer.ocx 下载 :http://www.cppblog.com/Files/wanhhf/DSOFramer_0521.rar
如何对做好的控件签名:http://www.cppblog.com/wanhhf/AddToFavorite.aspx?id=5759
备注:
凡对此源代码进行修改的程序,希望能给作者发一份,或在此公开。
<object classid="clsid:00460182-9E5E-11d5-B7C8-B8269041DD57" CodeBase= Dsoframer.ocx#
Version=2,
0.
0
,
4
id="oframe" width="1000" height="1000">
<param name="BorderStyle" value="1">
<param name="TitlebarColor" value="52479">
<param name="TitlebarTextColor" value="0">
<param name="Menubar" value="1">
</object>
事件:
1。NotifyCtrlReady 事件,控件初始化完毕会触发
最好在这个事件里面调用Open,或者CreateNew接口
/*
1.新建
*/
//新建Word
document.all.FramerControl1.CreateNew("Word.Document");
//新建Excel
document.all.FramerControl1.CreateNew("Excel.Sheet");
/*
2.打开文件
*/
//打开制定的本地文件
document.all.FramerControl1.Open("C:\\TestBook.xls");
//制定用Word来打开c:\plain.txt文件
document.all.FramerControl1.Open("C:\\Plain.txt",false, "Word.Document");
//打开服务器的文件
document.all.FramerControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword");
//打开服务器的文件
document.all.FramerControl1.Open("http://localhost/1.doc", true);
/*
3.保存文件
*/
//到本地
document.all.FramerControl1.Save("c:\\1.doc",true);
//服务器
/*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据
bool HttpInit();
bool HttpAddPostString(BSTR strName, BSTR strValue);
bool HttpAddPostCurrFile(BSTR strFileID, BSTR strFileName);
BSTR HttpPost(BSTR bstr);
*/
//初始化Http引擎
document.all.FramerControl1.HttpInit();
//增加Post变量
document.all.FramerControl1.HttpAddPostString("RecordID","20060102200);
document.all.FramerControl1.HttpAddPostString("UserID","李局长");
//上传打开的文件
document.all.FramerControl1.HttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
document.all.FramerControl1.HttpPost("http://xxxx.com/uploadfile.asp");
/*
4.修订留痕
*/
//进入留痕状态
document.all.FramerControl1.SetTrackRevisions(1);
//进入非留痕状态
document.all.FramerControl1.SetTrackRevisions(0);
//接受当前修订
document.all.FramerControl1.SetTrackRevisions(4);
/*
5.设置当前用户
*/
document.all.FramerControl1.SetCurrUserName("张三");
/*
6.设置当前时间(笔迹留痕会显示("Like 2006:02:07 11:11:11")
*/
document.all.FramerControl1.SetCurrTime("2006:02:07 11:11:11");
/*
7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了
SetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strCmdOrSheetName)
strFieldName:书签名
strValue:要设置的值
strCmdOrSheetName:命令 ::ADDMARK:: ::FILE::
一般来说:WORD中书签是做好的,可以通过此接口把外界数据设置进书签中去。
*/
//在当前WORD位置插入标签,标签名为"book1",数值为"test"
document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::");
//设置书签"Time",数值为"2006-03-16 22:22:22"
document.all.FramerControl1.SetFieldValue("Time","2006-03-16 22:22:22","");
//在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc" 这样,红头就自动插进去了
document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::");
/*
8.设置菜单显示情况
BOOL SetMenuDisplay(long lMenuFlag)
lMenuFlag为以下数值的组合
#define MNU_NEW 0x01
#define MNU_OPEN 0x02
#define MNU_CLOSE 0x04
#define MNU_SAVE 0x08
#define MNU_SAVEAS 0x16
#define MNU_PGSETUP 0x64
#define MNU_PRINT 0x256
#define MNU_PROPS 0x32
#define MNU_PRINTPV 0x126
*/
//只有“新建”菜单可用
document.all.FramerControl1..SetMenuDisplay(1);
//只有“打开”菜单可用
document.all.FramerControl1.SetMenuDisplay(2);
//只有“打开”和“新建”菜单可用
document.all.FramerControl1.SetMenuDisplay(3);
/*
9.保护文档和解保护文档
lProOrUn:1:保护文档;0:解除保护
lProType:
wdNoProtection = -1,
wdAllowOnlyRevisions = 0,
wdAllowOnlyComments = 1,
wdAllowOnlyFormFields = 2
strProPWD:密码
*/
//完全保护文档,密码为"pwd"
document.all.FramerControl1.ProtectDoc(1,1,"pwd");
//解除文档保护
document.all.FramerControl1.ProtectDoc(0,1,"pwd");
/*
10.显示或隐藏修订内容
ShowRevisions(long nNewValue)
nNewValue = 0 则隐藏修订
= 1 则显示修订
*/
//显示修订留痕
document.all.FramerControl1.ShowRevisions(1);
//隐藏修订留痕
document.all.FramerControl1.ShowRevisions(0);
/*
*/
document.all.FramerControl1.InSertFile("http://localhost/1.doc");
/*
11.设置文档浏览模式
ShowView(long dwViewType)
*/
//大纲模式
document.all.FramerControl1.ShowView(5);
/*
12.插入合并文件,
strFieldPath 文件路径,可以是http,ftp的路径
pPos = 0 //当前鼠标位置
1;文件开头
2;文件末尾
InSertFile(BSTR strFieldPath, long lPos)
*/
//文件头部
document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1);
//文件尾部
document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2);
//当前光标位置
document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0);
===================================================================
DSOFramer原有的接口说明
1.void CreateNew(BSTR ProgIdOrTemplate)
新建文档,
其中: ProgIdOrTemplate参数:
Excel Spreadsheet "Excel.Sheet"
Excel Chart "Excel.Chart"
PowerPoint Presentation "PowerPoint.Show"
Project Project "MSProject.Project"
Visio Drawing "Visio.Drawing"
Word Document "Word.Document"
2. HRESULT Open([in] VARIANT Document, [in, optional] VARIANT ReadOnly,
[in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword)
打开文档,可以是本地文件或者是服务器文件
参数:
Document 文档路径
ReadOnly 是否已只读模式打开
ProgId OLE类型
WebUsername 用户名(访问网络的文件时候,有可能需要)
WebPassword 密码
例子:
DsoFramer1.Open "C:\TestBook.xls"
DsoFramer1.Open "C:\Plain.txt", , "Word.Document" //用Word来打开c:\plain.txt文件
DsoFramer1.Open "https://secureserver/test/mytest.asp?id=123", True, "Excel.Sheet", "MyUserAccount", "MyPassword"
3.HRESULT Save([in, optional] VARIANT SaveAsDocument, [in, optional] VARIANT OverwriteExisting,
[in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword);
保存文件在本地
DsoFramer1.Save "c:\1.doc"
4.Activate
激活当前文档,没搞明白有什么用
5. HRESULT ActiveDocument([out,retval] IDispatch** ppdisp);
返回当前活动文档的Dispatch接口,这个接口很重要,可以通过这个接口,操作所有的文档接口。
如:下面 javascript 语句调用Office内置的对话框
var obj;
obj = new Object(document.all.FramerControl1.ActiveDocument);
if(obj !=null){
var dd;
dd = obj.Application.Dialogs(84).Show();
//... ...
//delete it
delete obj;
}
6. HRESULT Close();
关闭当前文档,建议在页面关闭的时候调用。
MS的原来的版本,有时候关不掉Word,已经修复了。
7. HRESULT Caption([out,retval] BSTR* pbstr);
属性,获取|设置窗口标题
8. HRESULT Titlebar([in] boolean vbool);
HRESULT Titlebar([out,retval] boolean* pbool);
显示或者隐藏标题栏
9. HRESULT Toolbars([in] boolean vbool);
HRESULT Toolbars([out,retval] boolean* pbool);
显示或者隐藏工具栏
10. HRESULT ModalState([in] boolean vbool);
HRESULT ModalState([out,retval] boolean* pbool);
11.HRESULT ShowDialog([in] dsoShowDialogType DlgType);
显示对话框
12.HRESULT EnableFileCommand([in] dsoFileCommandType Item, [in] boolean vbool);
HRESULT EnableFileCommand([in] dsoFileCommandType Item, [out,retval] boolean* pbool);
13. HRESULT BorderStyle([in] dsoBorderStyle style);
HRESULT BorderStyle([out, retval] dsoBorderStyle* pstyle);
14. HRESULT BorderColor([in] OLE_COLOR clr);
HRESULT BorderColor([out,retval] OLE_COLOR* pclr);
15. HRESULT BackColor([in] OLE_COLOR clr);
HRESULT BackColor([out,retval] OLE_COLOR* pclr);
16.HRESULT ForeColor([in]OLE_COLOR clr);
HRESULT ForeColor([out,retval]OLE_COLOR* pclr);
17.HRESULT TitlebarColor([in] OLE_COLOR clr);
HRESULT TitlebarColor([out,retval] OLE_COLOR* pclr);
18.HRESULT TitlebarTextColor([in] OLE_COLOR clr);
HRESULT TitlebarTextColor([out,retval] OLE_COLOR* pclr);
19.HRESULT ExecOleCommand([in] LONG OLECMDID, [in, optional] VARIANT Options, [in, optional] VARIANT* vInParam, [in, out, optional] VARIANT* vInOutParam);
20.HRESULT Menubar([in] boolean vbool);
HRESULT Menubar([out,retval] boolean* pbool);
21.HRESULT HostName([in] BSTR bstr);
HRESULT HostName([out,retval] BSTR* pbstr);
22. HRESULT DocumentFullName([out,retval] BSTR* pbstr);
文档的路径
23.HRESULT PrintOut([in, optional] VARIANT PromptUser, [in, optional] VARIANT PrinterName, [in, optional] VARIANT Copies,
[in, optional] VARIANT FromPage, [in, optional] VARIANT ToPage, [in, optional] VARIANT OutputFile);
24.HRESULT PrintPreview();
25.HRESULT PrintPreviewExit();
26.HRESULT IsReadOnly([out,retval] boolean* pbool);
是否为只读的。
27.HRESULT IsDirty([out,retval] boolean* pbool);
是否保存了,实际可以用来判读文档有没有修改
oframer.IsDirty = TRUE //文档没有保存,处于修改状态
oframer.IsDirty = FALSE //文档已经保存,没有修改
DSOFramer 控件(转)的更多相关文章
- dsoframer控件学习小结(打开WORD,EXCEL等文件)
根据自己对dsoframer控件的学习,想把dsoframer控件进行简单的包装为C#的usercontrol,大体需要作如下:(创建windows的usercontrol的步骤就不再说了...)我们 ...
- dsoframer控件在64系统上使用问题小汇总
由于工作中需要,我接触了dsoframer控件,我办公电脑是64系统,在使用时,总是报没有注册类错误.我很是奇怪,dsoframer.ocx控件我都注册过的呀.然后在网上查阅了许多相关资料.悲哀的是, ...
- 使用dsoframer控件出现"Unable to display the inactive document. Click here to reactivate the document."的问题 .
使用如下属性设置: axFramerControl.ActivationPolicy = DSOFramer.dsoActivationPolicy.dsoKeepUIActiveOnAppDeact ...
- DSOFramer 控件修改成功
1.Html电子印章.手写签名系统演示:http://www.dianju.com.cn/video.htm 在线试用: http://www.dianju.com.cn/websignpiaoju/ ...
- win7 64位在线编辑dsoframer控件的安装和使用配置
经历了两天的折磨,查阅了网上的资料,按网上的操作试了n种方法结果还是不行,开始以为是dsoframer 是32位控件问题,结果不是(经历了更改解决方案cpu,发布基于x86的网站:以为是操作系统问题, ...
- dsoframer控件注册,解注册和检查注册情况
public class DsoframerHelper { private static string dsoframerPath = System.Windows.Forms.Applicat ...
- DSOFramer控件使用注意事项
1.引用dll==>AxInterop.DSOFramer.dll ==>Interop.DSOFramer.dll ==>WindowsFormsIntegration ==> ...
- ActiveX控件dsoFramer的使用(word、excel、PPT)
dsoframer是微软提供一款开源的用于在线编辑.调用Word. Excel .PowerPoint等的ActiveX控件.国内很多著名的OA中间件,电子印章,签名留痕等大多数是依此改进而来的. 一 ...
- 程序安装时注册dsoframer.ocx控件
我使用的是Smart Install Maker打包软件 (1)将dsoframer.ocx控件添加进 (2)添加ActiveX控件 dsoframer.ocx属于ActiveX控件,在ActiveX ...
随机推荐
- 坑:找到LoadRunner中Recording Options和 Run Time Settings配置选项确实的原因
在loadrunner安装好后,打开页面查看发现分别的缺失内容如下: 现象: 1. Recording Options 2.Run Time Settings 3.解决 原因是LR是付费的,你的安装包 ...
- linux10.日志服务器建立和克隆机的网卡问题
日志服务器建立 克隆虚拟机网卡混乱问题处理 vim /etc/udev/rules.d/70-perisistent-net.rules 调整mac地址与设备的对应关系 ...
- Ubuntu+QEMU+Xv6环境搭建
操作系统:Ubuntu 16.04 32位 虚拟机:VMware 模拟器:QEMU 之前有一台centos 64位虚拟机,使用源码安装配置环境,出了一些列问题,最终环境都已经配好了,也能够在qemu上 ...
- JavaScript 如何工作的: 事件循环和异步编程的崛起 + 5 个关于如何使用 async/await 编写更好的技巧
原文地址:How JavaScript works: Event loop and the rise of Async programming + 5 ways to better coding wi ...
- Thingsboard 重新启动docker-compose容器基础数据存在的问题
在重启了thingsboard的容器后,想再次重新启动容器,发现已经出现了错误 查看posttres中,持久化的地址是tb-node/postgres中 再查看相应的文件夹 删除以上log和postg ...
- Workstation 14 Returns EFI Network Start PXE over IPv4 When Installing New Win10 Guest O/S
当启动出现“Click any key to boot from DVD”时候,需要键盘点击一下,即可解决. 参考:https://communities.vmware.com/thread/5730 ...
- spring线程池的应用
加载xml文件 在ApplicationContext.xml文件里面添加 xmlns:task="http://www.springframework.org/schema/task&qu ...
- Spark(四十六):Spark 内存管理之—OFF_HEAP
存储级别简介 Spark中RDD提供了多种存储级别,除去使用内存,磁盘等,还有一种是OFF_HEAP,称之为 使用JVM堆外内存 https://github.com/apache/spark/blo ...
- iview3 版本 升级
Button 废弃 type ghost,原先的 default 样式有改变. Icon 的图标升级至 ionicons 3.0 图标,图标名称有改变. Breadcrumb 废弃 href 属性. ...
- 在Oracle Sql Developer中查看oracle版本
输入select * from v$version; 执行即可. --END-- 2019-11-29 12:34