PageOffice目前支持的Web程式语言及架构有:Java(JSP、SSH、MVC等),ASP.NET(C#、VB.NET、MVC、Razor等),PHP,ASP。
基本介绍
- 中文名:PageOffice
- 性质:文档
- 作用:实现用户线上编辑
- 编辑类型:编辑Word、Excel、PowerPoint
产品介绍


技术背景
长期以来,B/S架构的Web套用系统在处理Office文档时都面临两大技术难题。一个是如何在网页里线上编辑Office文档,另一个是如何读写Office文档里的内容。对于线上编辑Office文档这个问题,刚刚接触此需求的开发人员大多採用的是集成一个能调用Office的ActiveX控制项,但是运行稳定性、兼容性差强人意,而且调用代码只能用JavaScript,造成项目的逻辑层次被打乱,业务层和表现层混在一起,可维护性差。对于读写Office文档问题,有用伺服器自动化技术(ASP.NET引入Office类型库,Java用Jacob库)读写Word、Excel的,代码複杂、运行稳定性差,并且伺服器只能採用Windows平台;有用POI库的,代码複杂、只能读写格式简单的Word、Excel文档,并且POI提供的Office2003、Office2007文档格式的调用接口还不兼容,进一步增加了调用代码的複杂度。
这两大技术难题都不能得到令人满意的解决,大部分情况下,这两个难题都是相伴而生的,而不是孤立出现的。开发者希望得到一种全面解决方案,既能安全稳定地实现线上编辑Office文档,又能简单高效地实现读写Office文档内容。于是经过北京卓正志远软体有限公司精心打造的一款功能全面、技术架构符合现代编程框架的Office组件平台——PageOffice应运而生了。PageOffice开发平台一经推出,就得到了广大软体开发商、政府企业信息中心的一致讚誉和支持。PageOffice现在已经广泛地套用在政府、金融、交通、电信、教育、新闻媒体、医疗卫生、电子政务、电子商务、军事等领域。
实现功能
1. 在web网页里打开、编辑、列印预览、列印Word、Excel、PowerPoint等Office文档。
2. 强大的全萤幕/还原功能,便于用户编辑、浏览Office文档,又不影响网页布局美观。
3. 文档并发控制机制。为了防止同时线上编辑导致的混乱,PageOffice会发出通知并阻止其他人编辑此文档,直到你保存离开或时间锁过期。
4. 线上唯读安全浏览Word、Excel、PowerPoint、PDF等Office文档,防複製贴上、下载、列印等。
5. 提供Word修订痕迹、手写批注、圈阅划线、键盘批注、电子印章等OA公文模组的必备功能。
6. 根据资料库动态将数据,包括文本、图片、表格等填充、导出到Word、Excel模板中指定的位置处,并且可以动态指定内容的各种格式。支持批量导出。支持Word动态模板套红。支持动态创建、填充、生成新文档。
7. 提取Word、Excel文档中指定位置处的内容,包括文本、图片(Excel暂不支持)、表格等,保存到资料库。
8. 支持客户端不显示Word、Excel编辑器视图情况下的Word、Excel数据的导入导出功能。
9. 支持另外储存为HTML、MHT、PDF文档并发布到伺服器的功能。
10. 支持动态生成PDF的功能。
11. 支持线上打开显示PDF(客户端无需安装PDF阅读器)。
12. 根据用户许可权控制Word、Excel文档中用户可以编辑的区域,便于实现流转、会签、多用户实时编辑。
13. 合併多个Word文档为一个Word文档;拆分一个Word文档为多个Word文档。
14. 将Word、Excel设定成表单输入模式,用户只能在文档中指定的位置处输入内容,提交时可获取用户输入的内容。支持弹出网页对话框辅助用户输入数据。
更详细的功能列表请参考PageOffice版本区别。
技术优势
1. PageOffice独家实现跨浏览器支持,支持所有流行的浏览器,客户端控制项实现自动安装、自动更新。浏览器支持:IE6以上全系列、谷歌Chrome、火狐Firefox、Opera、Safari、搜狗双模式、遨游双模式、360安全双模式、猎豹双模式、360极速双模式等。
2. 完全伺服器端代码调用,调用简单、代码清晰,完美支持MVC编程架构。传统Office控制项都是比较简单的ActiveX控制项,只能通过前台网页里的JavaScript调用才能打开文档,这会造成业务逻辑代码和前台HTML混合在一起编程的局面,代码混乱难读,尤其是读写Office文档内容的代码如果用JavaScript编写会导致代码更加混乱。PageOffice完全使用伺服器端Java、C#代码就能实现文档线上打开、存取文档内容的功能,符合业务层和表现层代码分离的编码原则,支持中大型软体项目的编程架构。
3. PageOffice是标準伺服器控制项,易于使用。PageOffice forASP.NET版是安装到VisualStudio的工具箱里的标準ASP.NET可视化伺服器控制项,与VS.NETIDE深度集成,支持工具箱控制项拖放,支持控制项设计时,控制项属性视窗。滑鼠点击即可完成用户界面定製。PageOffice for Java版是标準Java Tag标籤库组件,与Struts相同的标籤方式引用,完美支持Eclipse、MyEclipse等Java开发工具,完美支持JSF、SSH等开发架构。
4. 独创的Word、Excel简化对象模型。PageOffice独创的Word、Excel简化对象模型指的是完全用Java、C#实现的一组Word、Excel存取对象,便于伺服器端Java、C#代码直接调用,无需引入Word、Excel类型库,伺服器端不用安装Office软体。这套对象模型不是简单地模仿Word、Excel的VBA对象接口,而是从开发者常用的编程代码角度,结合资料库数据访问的特点抽象出的一套实用、调用简单的对象库。这套对象库把原本複杂的Word、Excel读写操作简单化了,大大提高了开发效率,并且代码清晰易读,结构简单。
5. 独创的文档并发编辑控制机制。为了防止多人同时线上编辑同一个Office文档导致的互相覆盖问题,PageOffice会发出通知并阻止其他人编辑此文档,直到当前用户保存离开或时间锁过期。

6. 独创的Word、Excel线上表单输入模式。PageOffice能够将Word、Excel设定成表单输入模式,用户只能在文档中指定的位置处输入内容,提交时可获取用户输入的内容。用户不能编辑修改输入位置意外的文档内容和格式,这样Word、Excel文档就可以用来做用户输入视窗,这对于习惯在Word、Excel文档里录入数据的用户非常方便。另外为了方便用户输入,PageOffice还支持数据区域单击弹出选择对话框辅助用户输入数据。

7. 与伺服器自动化调用Office的比较。ASP.NET下可以引用Word、Excel的类型库调用Word、Excel的自动化接口,Java下有一个Jacob库调用的也是Word、Excel的自动化接口。调用Word、Excel的自动化接口需要伺服器端安装Office软体,如果是Windows以外的其他作业系统,例如Linux、Unix无法运行Office软体,此方案就行不通了。伺服器端自动化技术并不能在网页里显示编辑Office文档,只能在伺服器端执行部分导入导出Office文档内容的任务;而PageOffice两者皆可。伺服器自动化调用有很大的风险,容易导致Word、Excel进程死锁、页面无回响、阻塞Web服务进程,并且Web Server需配置互动账户许可权。针对这个问题,微软在MSDN上公开声明Word、Excel不适宜运行在服务进程里,因为Word、Excel仅被设计为桌面运行的程式。而PageOffice提供用Java、C#实现的Word、Excel简化对象模型,100%的标準託管代码,伺服器端不用安装Office,也不用引入自动化类型库,所以运行安全稳定,不必担心Web服务崩溃的风险。另外伺服器自动化调用的API接口複杂难用,参数传递繁琐;而PageOffice提供简化Word、Excel对象模型,所以调用代码简单,开发效率高,运行稳定可靠。伺服器自动化编程对于定位Word、Excel要填充内容的位置和定位要读取内容的位置比较困难,而PageOffice的简易对象模型可以轻鬆定位,精确填充和读取文档内容。
8. 与POI、JXL的比较。POI、JXL技术不能在网页里显示编辑Office文档,只能在伺服器端执行部分导入导出Office文档内容的任务;而PageOffice两者皆可。POI、JXL调用代码複杂、中文乱码,功能较弱,无法生成複杂格式的Word、PDF文档。PageOffice能够让开发者远离乱码的困扰,调用代码简洁高效。PageOffice既能创建新Word、Excel文档,也能在Word、Excel模板指定位置处生成内容,文本、图片、表格等一应俱全,更令人激动的是同时支持Office2003、2007、2010、2013,兼容性很好。而POI、JXL在Office档案格式上做不到很好的兼容,只能应对格式简单的文档。POI处理Office2003的doc、xls档案和Office2007的docx、xlsx档案用的是接口完全不兼容的两组对象,POI用来解析.doc、.xls那部分的组件是残缺不全的并且也已经不再更新了。PageOffice提供Word、Excel的简化对象接口,功能齐全,读写文档的调用代码完全统一,并且调用代码比POI、JXL简单很多。PageOffice提取Word文档中的内容时可以按书籤定位要取的内容,而用POI定位比较困难。PageOffice是目前动态生成Word、Excel文档的最佳解决方案,因为无论多複杂的文档模板都能应对自如。从性能上看,POI使用的xml处理对象本身就消耗记忆体,它要把整个文档都载入到记忆体,加上其他开销,比实际Word、Excel文档还大,遇到打开较大的Word、Excel文档时,JVM很容易记忆体溢出。用PageOffice提取Word、Excel文档中的内容,40MB大小的文档没问题,100MB大小的文档也无压力。
9. 安全稳定可靠,完美支持网页中运行的Office和本地运行的Office同时编辑无冲突。
10. 强大的代码调试功能。PageOffice提供完善的代码调试功能,让开发者能够迅速定位错误代码的位置,提高开发的效率。

11. PageOffice经过最佳化设计,成功实现各种複杂客户端环境下的控制项自动安装及自动添加可信站点,完全解除开发者部署项目时的后顾之忧。
适用场合
1. OA系统、协同办公系统、电子政务系统等管理系统中的公文流转模组。
2. 各种文档管理系统、档案管理、知识库管理系统等。
3. CRM、契约管理系统、人事管理系统等。
4. 各种管理系统中的动态输出、动态填充、导出Word、Excel文档的功能模组,生成规範格式的Word、Excel公文、报告、报表。
5. 各种管理系统中的提取、读取、导入Word、Excel内容的功能模组,用来採集用户本地、离线填写的Word、Excel中的数据。
6. 所有要求线上处理Office文档、读写Office文档内容的Web管理信息系统或网站。
版本信息
PageOffice的最新版本是V4.5。
根据技术平台的不同,PageOffice产品分为PageOffice for Java、PageOffice forASP.NET、PageOffice for PHP、PageOffice for ASP等四个产品。
根据支持功能的不同,每个PageOffice产品又分为企业版、专业版、标準版三个版本。
PageOffice forASP.NET版配备专业MSDN风格的详细开发帮助,截图如下:

PageOffice forJava版配备Java doc风格的详细开发帮助,截图如下:

运行平台
PageOffice伺服器端需要的软体配置如下:
PageOffice与资料库没有直接关係,可保持开发者存取数据的灵活性,因此可支持各种大中小型资料库,例如:Oracle、MSSQLServer、DB2、MySQL、MS Access等。
PageOffice forJava版伺服器端支持Unix、Linux、Windows等所有可运行Java的伺服器作业系统平台。
PageOffice支持各种Web Server,例如:WebLogic、WebSphere、Tomcat、Apache、Resin、JBoss、Windows IIS等。
PageOffice伺服器端不使用Office自动化调用技术,无需引用Office类型库,所以伺服器端无需安装Office软体。PageOffice for Java版伺服器端要求JDK1.5及以上版本。PageOffice forASP.NET版伺服器端要求.NET Framework2.0及以上版本。PageOffice伺服器端支持64位Linux、Windows作业系统。
PageOffice客户端需要的软体配置如下:
1.作业系统:WindowsXP、WindowsVista、Windows7或Windows8及以上版本,并且支持x64版本;
2.浏览器:IE(Internet Explorer)6、IE7、IE8、IE9、IE10、IE11、搜狗、傲游、MyIE、猎豹、百度、360、世界之窗、QQ浏览器;支持谷歌Chrome、火狐FireFox、Opera等非IE浏览器;
3. Office软体:Office2003、Office2007、Office2010、Office2013、Office365。