应用场景
在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档。
目前服务器上生成文档的方案就是采用SharePoint或VSTO,SharePoint高昂的价格令人望而生畏,在此不讨论该方案。由于历史遗留问题,Office本来是设计与COM协同工作的,这就使得从一开始VSTO就有点"水土不服"。.net代码通过封装COM与Office通信,但是有时这种配合却并不协调,Office对象模型并不总是遵循.net设计所采用的命名规则和设计模式,而且服务器上生成文档对服务器压力很大,编码比较复杂,开发过程非常消耗时间和精力。
所以针对这一系列的问题,PageOffice开发出来了FileMakerCtrl组件,该组件完全符合PageOffice的架构设计,FileMakerCtrl在客户端生成Office或PDF文档并上传到服务器,但是并不在Web网页里显示Office文档。
FileMakerCtrl对象使用说明
FileMakerCtrl 类是PageOffice开发平台中的核心类。和PageOfficeCtrl控件不同,FileMakerCtrl在Web网页里不显示Office文档,而是直接在线生成Office文档或将Office文档转换成PDF文档,或动态生成PDF文档。
注:以下代码以word为例
1.动态填充word文档并上传到服务器
请参考PageOffice产品开发包中Samples4的示例:
二、13、FileMaker转换单个文档(以Word为例)(专业版、企业版)
PageOffice.WordWriter.WordDocument doc = new PageOffice.WordWriter.WordDocument();
//给数据区域赋值,即把数据填充到模板中相应的位置
doc.OpenDataRegion("PO_company").Value = "北京卓正志远软件有限公司" ;
FileMakerCtrl1.SetWriter(doc);
FileMakerCtrl1.ServerPage = Request.ApplicationPath + "/pageoffice/server.aspx";
FileMakerCtrl1.SaveFilePage = "Savemaker.aspx";
//OnProgressComplete为回调函数,文档生成之后在页面里触发此js事件。
//如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
FileMakerCtrl1.JsFunction_OnProgressComplete = "OnProgressComplete()";
FileMakerCtrl1.FillDocument(Server.MapPath("doc/template.doc"), PageOffice.DocumentOpenType.Word);
OnProgressComplete的使用: 比如需要实现文件生成后弹出另存为对话框,让用户保存文件到本地电脑,那么js可以这样写:
function OnProgressComplete() { document.getElementById("FileMakerCtrl1").ShowDialog(2); //弹出另存对话框 }
2.动态将word文档转换为pdf文档并上传到服务器
请参考PageOffice产品开发包中Samples4的示例:
二、34、FileMaker转换单个文档为PDF(以Word为例) (专业版、企业版)
PageOffice.WordWriter.WordDocument doc = new PageOffice.WordWriter.WordDocument();
//给数据区域赋值,即把数据填充到模板中相应的位置
doc.OpenDataRegion("PO_company").Value = "北京卓正志远软件有限公司" ;
FileMakerCtrl1.SetWriter(doc);
FileMakerCtrl1.ServerPage = Request.ApplicationPath + "/pageoffice/server.aspx";
FileMakerCtrl1.SaveFilePage = "Savemaker.aspx";
//OnProgressComplete为回调函数,文档生成之后在页面里触发此js事件。
//如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
FileMakerCtrl1.JsFunction_OnProgressComplete = "OnProgressComplete()";
FileMakerCtrl1.FillDocumentAsPDF(Server.MapPath("doc/template.doc"),
PageOffice.DocumentOpenType.Word, "a.pdf");
3.批量生成文档并上传到服务器
请参考PageOffice产品开发包中Samples4的示例:
三、1、FileMaker批量转换文档(以Word为例)(专业版、企业版)
批量生成文档就是基于FileMaker转换单个文档所使用的技术,在OnProgressComplete事件中执行js方法刷新页面中的iframe页面循环的加载生成不同的文件。
FileMakerCtrl和PageOfficeCtrl的区别
FileMakerCtrl本质上就是一个没有界面的PageOfficeCtrl,也是调用客户端Office程序处理文件的,都可以实现对文档进行动态填充、动态转PDF等功能,唯一的区别就是FileMakerCtrl在线打开填充和转换文档的时候客户端页面不显示打开的文档内容,而PageOfficeCtrl显示打开的文档内容。
相关推荐
Filemaker函数中文版
以一个简单的示例,演示了通过PageOffice开发平台下的FileMaker标签控件,实现Word文件的批量生成
JAVA连接FileMaker完整工程 包函FileMaker数据库Java连接驱动 修改工程中的FileMaker安装地址就 可以用JAVA操作FileMaker 数据库 Driver d = (Driver)Class.forName("com.filemaker.jdbc.Driver").newInstance(); ...
The FileMaker Pro 10 Bible features FileMaker Pro 10 and FileMaker Pro 10 Advanced. As a user wishing to create basic solutions, FileMaker Pro 10 is an ideal place for you to start, and the bulk of ...
Filemaker14基础教程,中文版。学习这个的资源不好找啊。这个是基础教程,初学者看这个没错的。你值得拥有。
filemaker
FileMaker 13注册工具+Filemaker 12官方中文教程
filemaker pro 11 破解补丁
filemaker pro官方中文帮助文件
小巧的 FileMaker 使用教程,适用版本:11
filemaker pro advanced 17制作的百度地图同步数据库记录进行显示,使用javascript,其中包含根据地址查经纬度窗体。
此文档包含了Filemaker所涉及到的所有函数,并有详细的例子说明...
Filemaker的中文教程和开发视频
Learn FileMaker Pro 16.pdf Learn FileMaker Pro 16.pdf Learn FileMaker Pro 16.pdf Learn FileMaker Pro 16.pdf
filemaker的函数教程,中文版。含有使用例子,繁体中文版。
适合基础学习,了解filemaker。对初学者来说是极好的工具书。
filemaker pro源代码,各种例子代码
FileMaker15基础培训教程官方出品 使用FM必看的,小众的东西,比较难找
本实例演示了在PageOffice开发平台下,通过FileMaker标签控件在Java中实现Word文档的批量生成
目录门户网站数组语法数据语法排序语法查询语法数据存储连接客户创建客户使用请求队列数据API会话登录方式登出方法客户方法产品资讯获取数据库获取布局获取脚本获取布局创建记录记录重复获取记录详细信息列出记录...