本文是 zzy 配置 OpenList 相关内容的备忘录。
一、ONLYOFFICE 安装注意事项
在安装 ONLYOFFICE 时注意在 docker compose 文件中添加环境变量用以关闭 JWT 验证:
environment:
- JWT_ENABLED=false # 关闭JWT验证二、编写 view.html 并修改 NGINX 配置文件
在网站根目录中创建 view.html 文件,内容如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件预览</title>
<style type="text/css">
html, body {
width: 100% !important;
height: 100% !important;
margin: 0px !important;
padding: 0px !important;
overflow: hidden !important;
}
#placeholder {
width: 100% !important;
height: 100% !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
}
</style>
</head>
<body>
<div id="placeholder"></div>
<!-- 注意将地址更改为ONLYOFFICE地址 -->
<script type="text/javascript" src="【你的ONLYOFFICE地址】/web-apps/apps/api/documents/api.js"></script>
<script>
function getQueryParamValue(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURIComponent(r[2]);
return "";
}
var url = getQueryParamValue("src");
var fileName = "预览文件";
var fileExtension = "";
if(url && url != ""){
var tempUrl = url.split("?")[0];
fileName = tempUrl.substring(tempUrl.lastIndexOf("/") + 1);
fileExtension = fileName.split(".").pop() || "";
}
new DocsAPI.DocEditor("placeholder", {
document: {
title: fileName,
url: url,
fileType: fileExtension,
permissions: {
edit: false,
download: true,
print: true,
comment: false,
fillForms: false
}
},
editorConfig: {
lang: "zh-CN",
mode: "view"
},
width: "100%",
height: "100%",
type: "desktop"
});
</script>
</body>
</html>注意 28 行地址修改!
添加 nginx 配置使 view.html 可以被正常访问:
location = /view.html {
root /www/sites/office.j1net.com/index;
try_files $uri $uri/ =404;
allow all;
}三、在 OpenList 设置-预览 中添加对应参数
外部预览或iframe预览:
{
"doc,docx,xls,xlsx,ppt,pptx,wps": {
"ONLYOFFICE 检一网络科技部署":"https://office.j1net.com/view.html?src=$e_url"
},
}可选:添加字体文件
命令 docker cp <本机目录> <容器ID>:/usr/share/fonts 将字体文件上传至 ONLYOFFICE 容器内,例:
docker cp /linshi 4a9ea5e8092c:/usr/share/fonts在容器的 /usr/bin 目录下执行 ./documentserver-generate-allfonts.sh 文件即可完成。