首页 > 其他分享 >SpringMVC集成pageofficeV6最简单步骤

SpringMVC集成pageofficeV6最简单步骤

时间:2023-12-29 09:24:23浏览次数:31  
标签:集成 openFile SpringMVC pageoffice pageofficeV6 poserver new PageOffice

转载:PageOffice最简单的集成代码(SpringMVC)

# PageOffice最简单的集成代码(SpringMVC)

本文描述了PageOffice产品在SpringMVC项目中如何集成调用。

  1. 新建SpringMVC项目:pageoffice6-springmvc-simple

  2. 在您项目的pom.xml中通过下面的代码引入PageOffice依赖。pageoffice.jar已发布到Maven中央仓库 (opens new window),建议使用最新版本。

<dependency>
  <groupId>com.zhuozhengsoft</groupId>   
  <artifactId>pageoffice</artifactId>   
  <version>6.0.0.11-javax</version>
</dependency>
  1. 在您项目的web.xml配置PageOffice的服务器端servlet程序,添加如下代码:
    <servlet>
        <servlet-name>poserver</servlet-name>
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/poserver.zz</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/sealsetup.exe</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/poclient</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/pageoffice.js</url-pattern>
    </servlet-mapping>
  1. 在pageoffice6-springmvc-simple/src/main/webapp/WEB-INF目录下新建lib文件夹,拷贝PageOffice客户端安装程序到此目录下。比如:
    • Windows客户端安装程序:posetup_6.0.0.11.exe
    • 国产版操作系统客户端安装程序:com.zhuozhengsoft.pageoffice_6.0.0.11_amd64.deb

PageOffice客户端安装程序下载地址:https://gitee.com/pageoffice/pageoffice6-client/releases (opens new window)

  1. 在pageoffice6-springmvc-simple/src/main/webapp目录下新建doc文件夹,准备一个有内容test.docx文件。新建Controller并调用PageOffice打开此文件,例如:
@Controller
@RequestMapping("Document")
public class DocumentController {
<span class="token annotation punctuation">@RequestMapping</span><span class="token punctuation">(</span><span class="token string">"/openFile"</span><span class="token punctuation">)</span>
<span class="token keyword">public</span> <span class="token class-name">ModelAndView</span> <span class="token function">openFile</span><span class="token punctuation">(</span><span class="token class-name">HttpServletRequest</span> request<span class="token punctuation">,</span> <span class="token class-name">Map</span><span class="token generics"><span class="token punctuation">&lt;</span><span class="token class-name">String</span><span class="token punctuation">,</span> <span class="token class-name">Object</span><span class="token punctuation">&gt;</span></span> map<span class="token punctuation">)</span> <span class="token keyword">throws</span> <span class="token class-name">Exception</span><span class="token punctuation">{</span>
    <span class="token comment">//******************************卓正PageOffice组件的使用*******************************</span>
    <span class="token class-name">PageOfficeCtrl</span> poCtrl <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">PageOfficeCtrl</span><span class="token punctuation">(</span>request<span class="token punctuation">)</span><span class="token punctuation">;</span>
    poCtrl<span class="token punctuation">.</span><span class="token function">setSaveFilePage</span><span class="token punctuation">(</span><span class="token string">"saveFile"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token comment">//打开Word文档</span>
    poCtrl<span class="token punctuation">.</span><span class="token function">webOpen</span><span class="token punctuation">(</span><span class="token string">"/doc/test.docx"</span><span class="token punctuation">,</span> <span class="token class-name">OpenModeType</span><span class="token punctuation">.</span>docNormalEdit<span class="token punctuation">,</span> <span class="token string">"张三"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    map<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span><span class="token string">"pageoffice"</span><span class="token punctuation">,</span> poCtrl<span class="token punctuation">.</span><span class="token function">getHtmlCode</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token class-name">ModelAndView</span> mv <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ModelAndView</span><span class="token punctuation">(</span><span class="token string">"Document/openFile"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> mv<span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token annotation punctuation">@RequestMapping</span><span class="token punctuation">(</span><span class="token string">"/saveFile"</span><span class="token punctuation">)</span>
<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">saveFile</span><span class="token punctuation">(</span><span class="token class-name">HttpServletRequest</span> request<span class="token punctuation">,</span> <span class="token class-name">HttpServletResponse</span> response<span class="token punctuation">)</span> <span class="token keyword">throws</span> <span class="token class-name">Exception</span><span class="token punctuation">{</span>
    <span class="token class-name">FileSaver</span> fs <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">FileSaver</span><span class="token punctuation">(</span>request<span class="token punctuation">,</span> response<span class="token punctuation">)</span><span class="token punctuation">;</span>
    fs<span class="token punctuation">.</span><span class="token function">saveToFile</span><span class="token punctuation">(</span>request<span class="token punctuation">.</span><span class="token function">getSession</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getServletContext</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getRealPath</span><span class="token punctuation">(</span><span class="token string">"doc/"</span><span class="token punctuation">)</span><span class="token operator">+</span>fs<span class="token punctuation">.</span><span class="token function">getFileName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    fs<span class="token punctuation">.</span><span class="token function">close</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>

}

  1. 为上一步代码中的的ModelAndView准备页面。新建Document/openFile.jsp,在页面中添加下面的代码用来嵌入PageOffice控件:
<div style=" width:auto; height:800px;">
${pageoffice}
</div>
  1. 在需要点击超链接在线打开文件的页面添加pageoffice.js的引用。
<script type="text/javascript" src="/pageoffice.js"></script>
  1. 编写打开文件的超链接代码。调用POBrowser的openWindow方法弹出窗口访问Controller方法Document/openFile在线打开文件。
<a href="javascript:POBrowser.openWindow('Document/openFile','width=1150px;height=900px;');">
在线打开文档
</a>
  1. 启动项目,点击“在线打开文档”超链接,查看在线打开编辑保存Office文件的效果。

标签:集成,openFile,SpringMVC,pageoffice,pageofficeV6,poserver,new,PageOffice
From: https://www.cnblogs.com/lhl77/p/17934011.html

相关文章

  • RocketMQ系统性学习-SpringCloud Alibaba集成RocketMQ以及消费收发实战
    欢迎关注公众号:【11来了】发送“资料”可以下载Redis、JVM系列文章PDF版本!作者为在读研究生,目前研二,计划在公众号记录学习常用中间件笔记,以及明年更新面试经历!SpringCloudAlibaba集成RocketMQ最佳实践SpringBoot相对于SSM来说已经很大程度上简化了开发,但是使用SpringBo......
  • WSO2是一个开源的API管理平台,它提供了一套完整的解决方案,用于设计和发布API,创建和管理
    WSO2是一个开源的API管理平台,它提供了一套完整的解决方案,用于设计和发布API,创建和管理开发人员社区,以及以可扩展的方式保护和路由API流量¹。它利用来自WSO2平台的成熟组件来保护,集成和管理API¹。此外,它还与WSO2分析平台集成,提供现成的报告和警报,让您即时了解API行为¹。WSO2API......
  • 【Spring教程31】SSM框架整合实战:从零开始学习SSM整合配置,如何编写Mybatis SpringMVC
    目录1流程分析2整合配置2.1步骤1:创建Maven的web项目2.2步骤2:添加依赖2.3步骤3:创建项目包结构2.4步骤4:创建SpringConfig配置类2.5步骤5:创建JdbcConfig配置类2.6步骤6:创建MybatisConfig配置类2.7步骤7:创建jdbc.properties2.8步骤8:创建SpringMVC配置类2.9步骤9:创......
  • 【Spring】SpringMVC项目升级成SpringBoot实践
    将SpringMVC项目升级为SpringBoot项目需要一系列详细的步骤。以下是一个更详细的步骤指南:项目初始化:创建一个新的SpringBoot项目。您可以使用SpringInitializr或SpringBoot的Maven插件来快速生成项目结构。依赖管理:在新项目中,添加所需的依赖。根据您的项目需求,添加SpringBoot......
  • Spring Boot2.x 集成 Skywalking 9.1.0
    参考https://skywalking.apache.org/https://www.cnblogs.com/xiaqiuchu/p/17931230.html(本文使用的该文章的代码,进入可下载源码)https://juejin.cn/post/7001849172278116389#heading-7注意事项本文代码环境为单注册中心、单服务提供者、单消费者。管理面板左侧菜单在没......
  • Spring Boot2.x 集成 Eureka 与 Feign
    参考https://blog.csdn.net/m0_37959155/article/details/122521406https://blog.csdn.net/Shnywe/article/details/123682758https://www.cnblogs.com/yxth/p/10845640.htmlhttps://juejin.cn/post/6973680096011878407本文完整代码下载注意事项Feign集成了Hystrix......
  • 基于Spring Boot2.x 集成 Spring Cloud Gateway
    参考https://blog.csdn.net/DCTANT/article/details/108125229(boot与cloud的版本关系)https://blog.csdn.net/yuanchangliang/article/details/109579705https://blog.csdn.net/qq_38380025/article/details/102968559本文代码下载环境环境版本说明windows1......
  • 海康威视WebSDK_V3.3.0 集成vue2项目避坑+解决方案
    最近新需求项目集成WebSDK_V3.3.0的视频插件,开发过程中遇到了一些问题,如下:无法正确引入插件/InitPlugin报错使用文档中写的I_DestroyPlugin报错并且再次Init插件后无法正常播放,报错如下:如果你也有类似问题请往下看首先开发包如下:1.无法正确引入插件/InitPlugin报错首......
  • 集成学习方法——随机森林
    之前我们介绍过决策树,随机森林(RandomForest)是将多个决策树(DecisionTree)组合在一起形成一个强大的分类器或回归器,是一种集成学习(EnsembleLearning)方法。随机森林的主要思想是通过随机选择样本和特征来构建多个决策树,并通过集成这些决策树的预测结果来达到更准确的分类或回......
  • 私有云 SDK 集成后数据库加密、解密失败、崩溃
    问题原因私有云IMLib提供了数据库加密功能,并且其中包含了一份sqlite3的源码,所以使用私有云IM库的项目中就不能再引入其它sqlite库了,引用系统的或者手动加入的都可能会造成异常解决方案在Xcode中查看对应TARGETS的BuildPhases→LinkBinaryWithLibraries下是否有......