dsoframer 使用方法(转)

以下为“初学者”提供
======================================
给控件做数字签名之一:

首先要生成证书文件,根据 <<昨日兄弟>> 推荐的网址: http://www.globalsign.net/digital_certificate/personalsign/index.cfm
首页有一个月免费使用的证书提供申请,过期了再重复申请便是,既然是免费的就无所谓麻烦了@[email protected]

a:按该站要求的八点步骤操作完成后,该站会在本机安装一个根据你Email生成的证书, b:导出证书: 打开Internet属性>内容>证书>然后在个人证书标签页,便可以找到该网站所安装的证书,点击导出按钮,其它的按提示继续操作。

给控件做数字签名之二:

使用数字签名工具包,请在此处下载
http://www.cnblogs.com/Files/babyt/SignTool.rar

然后再利用该工具包中的signcode.exe,选择相应的ocx或cab
进行下一步,并点击"存储区选择"按钮进行选择签名之一所安装的证书。
再下一步,录入一些简要,便可大功告成了。

再次感谢昨日兄弟!!
============================================

posted @ 2006-04-17 16:10 昨日 阅读(1387) | 评论 (4)编辑 收藏

2006年2月20日 #

DSOFramer 控件修改成功

公告:留言请到Http://www.dsoframer.com上。

另DSOFramer QQ群: 22190338

=========================

转移战场了   2007-04-26

=============================================================

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。获取所有书签的信息
Fred

http://www.cppblog.com/Files/wanhhf/DSO_WebOffice_Open_V2.2.rar

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"

<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 //文档已经保存,没有修改

时间: 2024-10-14 11:57:55

dsoframer 使用方法(转)的相关文章

使用c#实现dsoframer.ocx的注册方法

---恢复内容开始--- 最近帮公司开发一个类似于帮助文档的应用时用到了dsoframer.ocx控件,它是由微软提供一款开源的用于在线编辑的控件,其中包括注册,和使用方法网上已经有了许多的教程.可是当我按照各位前辈的教程开发完了自己的应用时我发现我写的东西竟然在别人的电脑上运行不了,why?因为使用者的PC上也要注册dsoframer.ocx才可以运行,而我的应用是专门供非开发人员使用的.要他们自己将控件放入系统盘制定位置,然后再使用命令行注册未免不太现实,关于也影响用户体验.这个网上也有大神

dsoframer注册说明及在VC2010使用

一.dsoframer在XP.win7和win8中的注册方法. 从微软网站下载DsoFrmaer_KB311765_x86.exe,双击解开后得到的dsoframer.ocx等文件. (一)XP注册 把dsoframer.ocx拷贝到系统目录C:\windows\system32下,使用regsvr32进行注册,如下 regsvr32 C:\windows\system32\dsoframer.ocx 系统提示注册成功. (二)win8注册 把dsoframer.ocx拷贝到系统目录C:\Win

qt集成dsoframer.ocx打开office办公软件

最近一段时间真是事情太多了,前不久项目中一个嵌入office软件的问题,由于没有时间研究,且项目的需求是浏览word文档,偷了一个懒,把word文档转换成pdf文档,然后嵌入libcef浏览器给打开了 现在回过头来,重新研究了这方面的直接办法,在网上查了多方面的资料,终于决定要使用ocx这个方案来完成此项功能,可限于资源问题,ocx方面的资料 没怎么接触过,所以就盲目的在晚上看别人的东西,不过皇天不负有心人,最终还是让我成功的搞定了这个问题,然后觉着,这个ocx也不过如此么,总的来说说 还是比较

DSOframer 的简单介绍和资源整理(2015-09-02重新整理)

DSOframer 是微软提供一款开源的用于在线编辑 Word. Excel .PowerPoint 的 ActiveX 控件.国内很多著名的 OA 中间件,电子印章,签名留痕等大多数是依此改进而来的.虽然博主的公司已经用了 NTKO 取代了 DSOframer,但免费的控件依旧是更多人的选择,所以在此和大家分享一下 DSOframer 的常用功能.如果看完全文还是不能解决您的问题,请在评论区留言,或加入QQ群(95674923)进行学习交流. Demo 演示地址 Demo 下载地址 GitHu

win7 64位在线编辑dsoframer控件的安装和使用配置

经历了两天的折磨,查阅了网上的资料,按网上的操作试了n种方法结果还是不行,开始以为是dsoframer 是32位控件问题,结果不是(经历了更改解决方案cpu,发布基于x86的网站:以为是操作系统问题,结果也不是).好在终于搞定了win7下dsoframer安装和打开office的问题.和大家共享,太不容易了. 1.安装dsoframer   1)将dsoframer.ocx copy 到 windows\SysWOW64 目录下,此目录为32位控件所在的目录,system32 目录是64位控件所

dsoframer注冊说明及在VC2010使用

一.dsoframer在XP.win7和win8中的注冊方法. 从微软站点下载DsoFrmaer_KB311765_x86.exe,双击解开后得到的dsoframer.ocx等文件. (一)XP注冊 把dsoframer.ocx复制到系统文件夹C:\windows\system32下,使用regsvr32进行注冊,例如以下 regsvr32 C:\windows\system32\dsoframer.ocx 系统提示注冊成功. (二)win8注冊 把dsoframer.ocx复制到系统文件夹C:

C# Dsoframer.ocx 如何在winform中嵌入Excel,内嵌Excel,word

如果你还不太清楚Dspframer.ocx怎么放到窗体上就看上一篇文章,里面详细介绍了是如何放到窗体上的. 链接:http://www.cnblogs.com/pingming/p/4182045.html 第一步 创建新窗体 创建一个新窗体,放置一个panel容器控件,我们就是要将dsoframer.ocx放到panel里面. 第二步 下面是所有调用的方法,有步骤的. public partial class ExcelForm : DevExpress.XtraEditors.XtraFor

已经导入了具有相同的简单名称“Interop.DSOFramer, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null”的程序集。

错误  : 已经导入了具有相同的简单名称“Interop.DSOFramer, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null”的程序集. 请尝试移除其中一个引用,或给引用加上签名以启用并行模式. 解决方法:引用的DLL里面有重名的类了,删掉多余的

在项目中使用DSOFramer需要注意的一些地方

DSOFramer插件,就是能帮助我们能在页面调用微软的office套件,常用的有word跟excel等,最重要是因为它免费!!! 当然,免费的插件,肯定或多或少有点不如人意,例如兼容性,稳定性等,都有待提高 本人java农一枚,不熟悉windows这些插件的内部原理,也没时间去细致研究. 如果对word等操作要求比较高,还是用收费的吧,或者国内一些搞OA系统比较吊的公司的产品比较好 好吧,回归正题 经过我一番测试,总结如下: 1.  机器要安装了office2003,2007或者2010,20