1. 首页
  2. 教程
  3. OpenList 配置 ONLYOFFICE 预览

OpenList 配置 ONLYOFFICE 预览

  • 发布于 2026-01-17
  • 7 次阅读

本文是 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 文件即可完成。