一、查看官网
http://www.zhuozhengsoft.com/
点击首页下载,进入页面:
最新得5.2,我们就下载5.2版本进行测试。
二、查看下载包
1.Samples5 为示例文件。放入tomcat中得webapps可以直接访问。
localhost:8080/Samples5/index.html
2.集成文件 里面有我们需要jar包
新建springboot项目以及简单测试这里就不多说了。
1、springboot 引入 pageoffice5.2.0.12.jar
2、springboot 引入thymleaf
1
2
3
4
|
< dependency >
< groupId >org.springframework.boot</ groupId >
< artifactId >spring-boot-starter-thymeleaf</ artifactId >
</ dependency >
|
3、编写配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
/**
* PageOffice 配置类
*/
@Configuration
public class PageOfficeConfig {
@Value ( "${file.save.path}" )
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( "/jquery.min.js" );
srb.addUrlMappings( "/pobstyle.css" );
srb.addUrlMappings( "/sealsetup.exe" );
return srb;
}
}
|
4、编写 index.html 和 word.html
4.1 index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<!DOCTYPE html>
< html xmlns = "http://www.w3.org/1999/xhtml" xmlns:th = "http://www.thymeleaf.org" >
< head >
< meta charset = "UTF-8" >
< title >Title</ title >
<!-- office插件js begin 必须引入-->
< script type = "text/javascript" src = "/jquery.min.js" ></ script >
< script type = "text/javascript" src = "/pageoffice.js" id = "po_js_main" ></ script >
<!-- end -->
</ head >
< body >
< a href = "javascript:POBrowser.openWindowModeless('word','width=1200px;height=800px;');" >打开文件</ a >
</ body >
</ html >
|
4.2 word.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
**<!DOCTYPE html>
<html xmlns= "http://www.w3.org/1999/xhtml" xmlns:th= "http://www.thymeleaf.org" >
<head>
<meta charset= "UTF-8" >
<title>Title</title>
</head>
<body>
<input id= "Button1" type= "button" value= "隐藏/显示 标题栏" onclick= "return Button1_onclick()" />
<input id= "Button2" type= "button" value= "隐藏/显示 菜单栏" onclick= "return Button2_onclick()" />
<input id= "Button3" type= "button" value= "隐藏/显示 自定义工具栏" onclick= "return Button3_onclick()" />
<input id= "Button4" type= "button" value= "隐藏/显示 Office工具栏" onclick= "return Button4_onclick()" />
<div style= "width:1000px;height:700px;" th:utext= "${pageoffice}" > </div>
<script type= "text/javascript" >
function Save() {
document.getElementById( "PageOfficeCtrl1" ).WebSave();
}
function PrintFile(){
document.getElementById( "PageOfficeCtrl1" ).ShowDialog( 4 );
}
function IsFullScreen(){
document.getElementById( "PageOfficeCtrl1" ).FullScreen = !document.getElementById( "PageOfficeCtrl1" ).FullScreen;
}
function CloseFile(){
window.external.close();
}
function BeforeBrowserClosed(){
if (document.getElementById( "PageOfficeCtrl1" ).IsDirty){
if (confirm( "提示:文档已被修改,是否继续关闭放弃保存 ?" ))
{
return true ;
} else {
return false ;
}
}
}
// 隐藏/显示 标题栏
function Button1_onclick() {
var bVisible = document.getElementById( "PageOfficeCtrl1" ).Titlebar;
document.getElementById( "PageOfficeCtrl1" ).Titlebar = !bVisible;
}
// 隐藏/显示 菜单栏
function Button2_onclick() {
var bVisible = document.getElementById( "PageOfficeCtrl1" ).Menubar;
document.getElementById( "PageOfficeCtrl1" ).Menubar = !bVisible;
}
// 隐藏/显示 自定义工具栏
function Button3_onclick() {
var bVisible = document.getElementById( "PageOfficeCtrl1" ).CustomToolbar;
document.getElementById( "PageOfficeCtrl1" ).CustomToolbar = !bVisible;
}
// 隐藏/显示 Office工具栏
function Button4_onclick() {
var bVisible = document.getElementById( "PageOfficeCtrl1" ).OfficeToolbars;
document.getElementById( "PageOfficeCtrl1" ).OfficeToolbars = !bVisible;
}
</script>
</body>
</html>**
|
5、编写PageOfficeController
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
/**
* PageOffice Demo
*/
@Controller
@RequestMapping ( "/page" )
public class PageOfficeController {
/**
* 进入测试
* @return
*/
@RequestMapping (value= "/index" , method=RequestMethod.GET)
public ModelAndView showIndex(){
ModelAndView mv = new ModelAndView( "index" );
return mv;
}
/**
* office online打开
* @param request
* @param map
* @return
*/
@RequestMapping (value= "/word" , method=RequestMethod.GET)
public ModelAndView showWord(HttpServletRequest request, Map<String,Object> map){
//--- PageOffice的调用代码 开始 -----
PageOfficeCtrl poCtrl= new PageOfficeCtrl(request);
poCtrl.setServerPage( "/poserver.zz" ); //设置授权程序servlet
poCtrl.addCustomToolButton( "保存" , "Save()" , 1 ); //添加自定义按钮
poCtrl.addCustomToolButton( "打印" , "PrintFile()" , 6 );
poCtrl.addCustomToolButton( "全屏/还原" , "IsFullScreen()" , 4 );
poCtrl.addCustomToolButton( "关闭" , "CloseFile()" , 21 );
poCtrl.setSaveFilePage( "/page/save" ); //设置保存的action
poCtrl.webOpen( "D:\\page\\test.docx" , OpenModeType.docAdmin, "张三" );
poCtrl.setCaption( "信息平台" );
map.put( "pageoffice" ,poCtrl.getHtmlCode( "PageOfficeCtrl1" ));
//--- PageOffice的调用代码 结束 -----
ModelAndView mv = new ModelAndView( "word" );
return mv;
}
/**
* 保存
* @param request
* @param response
*/
@RequestMapping ( "/save" )
public void saveFile(HttpServletRequest request, HttpServletResponse response){
FileSaver fs = new FileSaver(request, response);
fs.saveToFile( "d:\\page\\" + fs.getFileName());
fs.close();
}
}
|
6.application.yml 配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
server:
port: 8080
spring:
datasource:
driver- class -name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql: //localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC
username: root
password: finn123
# thymeleaf页面模板配置
thymeleaf:
prefix: classpath:/templates/
suffix: .html
mvc:
view:
prefix: classpath:/templates/
suffix: .html
resources:
static -locations: classpath:/templates/,classpath:/ static /
file:
save:
path: d:/page/
|
7.注意 项目结构
注意jquery.min.js 和 pageoffice.js文件地址
三、测试
输入网址
http://localhost:8080/page/index
打开文件,或让你先进行下载pageoffice。
注意事项
1.关闭浏览器进行安装
2.二要进行企业注册,随便填填
3.test.docx得文件需要填写些数据。空文档打不开!
四、gitee地址
https://gitee.com/finn_feng/finnPageOffice.git
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/ITxiaofeixiang/article/details/119580150