SpringBoot+Thymeleaf集成PageOffice

PageOffice简介

PageOffice实现了在线编辑保存Word、Excel、PPT、WPS等Office文档的基本功能,对于简单的在线Office办公、追踪Word修订痕迹、全文检索的实现已经绰绰有余。 PageOffice是市场上唯一一款能够同时支持IE、谷歌Chrome、火狐Firefox、搜狗、360等所有流行浏览器的在线Office组件/文档控件。磐石般的运行稳定性,复杂客户机环境下的广泛兼容性,客户端傻瓜式安装,惬意的用户在线Office体验,这一切都是PageOffice为您带来的意想不到的惊喜和震撼

项目集成

  1. 新建StringBoot+Thymeleaf项目 ,新建StringBoot项目有好多种方式和工具,直接百度下就有;
  2. 下载PageOffice插件jar包 到PageOffice官网选择你需要的版本进行下载,本人用的是4.5的版。PageOffice官网下载;
  3. 导入jar包 打开刚下载好的文件找到lib文件夹拷贝到项目下

SpringBoot+Thymeleaf集成PageOffice_第1张图片
SpringBoot+Thymeleaf集成PageOffice_第2张图片
4. pom文件中导入依赖

		<!-- 添加Sqlite依赖(可选:如果不需要使用印章功能的话,不需要添加此依赖)-->
        <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
            <version>3.7.2</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/web/WEB-INF/lib/pageoffice4.5.0.3.jar</systemPath>
        </dependency>
        <!-- 添加PageOffice依赖(必须) -->
        <dependency>
            <groupId>com.zhuozhengsoft</groupId>
            <artifactId>pageoffice</artifactId>
            <version>4.5.0.3</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/web/WEB-INF/lib/pageoffice4.5.0.3.jar</systemPath>
        </dependency>

5.修改web.xml文件,打开下载文件的web.xml文件,拷贝SpringBoot+Thymeleaf集成PageOffice_第3张图片
到项目下的web.xml中

<!-- PageOffice Begin -->
    <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>/posetup.exe</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/pageoffice.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/jquery.min.js</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>poserver</servlet-name>
        <url-pattern>/pobstyle.css</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>adminseal</servlet-name>
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>adminseal</servlet-name>
        <url-pattern>/adminseal.zz</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>adminseal</servlet-name>
        <url-pattern>/loginseal.zz</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>adminseal</servlet-name>
        <url-pattern>/sealimage.zz</url-pattern>
    </servlet-mapping>
    <mime-mapping>
        <extension>mht</extension>
        <mime-type>message/rfc822</mime-type>
    </mime-mapping>
    <context-param>
        <param-name>adminseal-password</param-name>
        <param-value>111111</param-value>
    </context-param>
    <!-- PageOffice End -->

6.在项目指定目录下新建word文档,新建html 我在静态文件下新建的word文档SpringBoot+Thymeleaf集成PageOffice_第4张图片
index.html


<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
   <meta charset="UTF-8">
   <title>Titletitle>
   
   <script type="text/javascript" th:src="@{/jquery.min.js}" >script>
   <script type="text/javascript" th:src="@{/pageoffice.js}" id="po_js_main">script>
   
head>
<body>
<a href="javascript:POBrowser.openWindowModeless('office/edit', 'width=1000px;height=auto;');"> 打开文档a>
body>
html>

word.html


<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
head>
<body>
<div style="width:1000px;height:800px;" th:utext="${pageoffice}">div>
body>
html>

test.doc
SpringBoot+Thymeleaf集成PageOffice_第5张图片
7.在启动类授权服务
在配置文件中定义变量
SpringBoot+Thymeleaf集成PageOffice_第6张图片

@SpringBootApplication
public class DemoApplication {
    @Value("${poSysPath}")
    String poSysPath;
    /**
     * 添加PageOffice的服务器端授权程序Servlet(必须)
     *
     * @return
     */
    @Bean
    public ServletRegistrationBean servletRegistrationBean() {
        com.zhuozhengsoft.pageoffice.poserver.Server poserver = new com.zhuozhengsoft.pageoffice.poserver.Server();
        //设置PageOffice注册成功后,license.lic文件存放的目录
        poserver.setSysPath(poSysPath);
        ServletRegistrationBean srb = new ServletRegistrationBean(poserver);
        srb.addUrlMappings("/poserver.zz");
        srb.addUrlMappings("/posetup.exe");
        srb.addUrlMappings("/pageoffice.js");
        srb.addUrlMappings("/sealsetup.exe");
        return srb;
    }
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

到这里就完成了,启动项目,下面就是测试
SpringBoot+Thymeleaf集成PageOffice_第7张图片
点击打开文档,会出现提示安装,点击确定,根据提示安装
SpringBoot+Thymeleaf集成PageOffice_第8张图片
安装成功后再次访问SpringBoot+Thymeleaf集成PageOffice_第9张图片
到现在项目已经简单的集成了pageoffice插件中的word文档编辑保存工作
注意:PageOffice插件初次安装需要注册,注册码在文件包下面的序列号.txt文件中
只支持开发使用,正式使用需要购买
本人demo链接地址;

你可能感兴趣的:(SpringBoot)