应用场景
在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档。
目前服务器上生成文档第一种就是方案是采用Jacob, 但是局限于windows平台,往往许多Java程序运行于Linux等其他操作系统,在此不讨论该方案。
第二是POI,但是服务器上生成文档对服务器压力很大,而且它的Excel处理勉强可以, Word模块还局限于读取Word的文本内容,写Word文件的功能就更弱;另一个致命的问题是,处理doc格式和处理docx格式的类几乎完全不同,要分开针对不同的格式写不同的代码,这就意味着用户上传的docx格式文件如果使用了doc的扩展名,程序马上崩溃。而且POI结构混,编码比较复杂,开发过程非常消耗时间和精力。
所以针对这一系列的问题,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为例)(专业版、企业版)
FileMakerCtrl fmCtrl = new FileMakerCtrl(request);
fmCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
WordDocument doc = new WordDocument();
//给数据区域赋值,即把数据填充到模板中相应的位置
doc.openDataRegion("PO_company").setValue("北京卓正志远软件有限公司");
fmCtrl.setWriter(doc);
fmCtrl.setSaveFilePage("SaveMaker.jsp");
//OnProgressComplete为回调函数,文档生成之后在页面里触发此js事件。
//如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
fmCtrl.setJsFunction_OnProgressComplete("OnProgressComplete()");
fmCtrl.fillDocument("doc/template.doc", DocumentOpenType.Word);
OnProgressComplete的使用: 比如需要实现文件生成后弹出另存为对话框,让用户保存文件到本地电脑,那么js可以这样写:
function OnProgressComplete() { document.getElementById("FileMakerCtrl1").ShowDialog(2); //弹出另存对话框 }
2.动态将word文档转换为pdf文档并上传到服务器
请参考PageOffice产品开发包中Samples4的示例:
二、34、FileMaker转换单个文档为PDF(以Word为例) (专业版、企业版)
FileMakerCtrl fmCtrl = new FileMakerCtrl(request);
fmCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
WordDocument doc = new WordDocument();
doc.openDataRegion("PO_company").setValue("北京卓正志远软件有限公司");
fmCtrl.setWriter(doc);
fmCtrl.setSaveFilePage("SaveMaker.jsp");
fmCtrl.setJsFunction_OnProgressComplete("OnProgressComplete()");
fmCtrl.fillDocumentAsPDF("doc/template.doc",DocumentOpenType.Word, "a.pdf");
3.批量生成文档并上传到服务器
请参考PageOffice产品开发包中Samples4的示例:
三、1、FileMaker批量转换文档(以Word为例)(专业版、企业版)
批量生成文档就是基于FileMaker转换单个文档所使用的技术,在OnProgressComplete事件中执行js方法刷新页面中的iframe页面循环的加载生成不同的文件。
FileMakerCtrl和PageOfficeCtrl的区别
FileMakerCtrl本质上就是一个没有界面的PageOfficeCtrl,也是调用客户端Office程序处理文件的,都可以实现对文档进行动态填充、动态转PDF等功能,唯一的区别就是FileMakerCtrl在线打开填充和转换文档的时候客户端页面不显示打开的文档内容,而PageOfficeCtrl显示打开的文档内容。
相关推荐
基于java的技术大健康综合咨询问诊平台的设计与实现.docx
均包含代码,文章,部分项目包含ppt
均包含代码,文章,部分项目包含ppt
演示地址:https://blog.csdn.net/qq_41221596/article/details/142372140
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
基于java留学生交流互动论坛网站设计与实现.docx
点击添加软件,可以添加可执行文件软件,设置启动的时间,也可以设置关闭的时间 注意,时间为00:00:00 等于没设置,这个时间不在设置范围,其他任何时间都可以 1.1更新 1:修复,设置的软件启动时间无法保存到配置文件 2:修复,设置的软件启动时间软件启动自动加载 3:修复,设置跨天,可能出现,无法执行的问题。
92092092092011111111111111111
本系统的集成开发环境是Eclipse,前端使用了html+JavaScript等技术,数据库管理运用了MySQL,Web服务器采用Tomcat,另外还采用SSM框架技术和B/S结构。 系统功能实现是系统编码环节,本系统主要分为三个模板,用户管理模块、稿件信息管理模块、留言管理管理模块 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7+ 后端技术:ssm 前端技术:Vue 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog
基于java的旅游资源网站设计与实现.docx
基于java的高校教师科研信息展示网站设计与实现.docx
计算机网络是现代信息社会的重要基础设施,它通过各种通信设备和协议将不同地理位置的计算机连接起来,实现信息的传输、共享和处理。 计算机网络是指利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来,以功能完善的网络软件(网络通信协议、信息交换方式及网络操作系统等)实现网络中资源共享和信息传递的系统。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
2015 APMCM B题
基于java的手办周边商城设计与实现.docx
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
POI产品介绍.pptx
均包含代码,文章,部分项目包含ppt
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
hello word 可能性版本 Springboot-web 网页版本 springboot-log 是给项目添加日志管理 springboot-mybatis-config 这是mybatis的配置版本 springboot-mybatis-annotation 这是mybatis的注解版 springboot-mail 就是springboot发邮件 springboot-redis springboot之使用redis数据库 springboot-editor.md springboot 与editor.md 集成 springboot-filter-listener-interceptor 过滤器、拦截器、监听器 Springboot-mongodb 与MongoDB集成 Springboot-elasticsearch 与Elasticsearch整合 Springboot-i18n SpringBoot国际化配置 SpringBoot-多源 SpringBoot多数据源配置,全局异常自定义处理