admin管理员组

文章数量:1644561

alist网盘十分的好用且神奇,但无奈的是无法查看pdf和office文档预览。那么可以通过onlyoffice社区版(免费)进行预览操作。

效果:可以直接在网页中预览office文档文件

1、docker安装onlyoffice

最新版下载:最新版可能会提示安全令牌格式不正确,解决此问题操作比较麻烦。

docker run -it -d -p 8080:80 --restart=always --name onlyoffice onlyoffice/documentserver

历史版本下载:

这是我保存的私有镜像,7.2的版本,不会提示安全令牌格式不正确。拉取完成后,再启用镜像。

docker pull registry-chengdu.aliyuncs/software-yxl/onlyoffice:7.2

docker run -it -d -p 8080:80 --restart=always --name onlyoffice registry-chengdu.aliyuncs/software-yxl/onlyoffice:7.2

2、增加view.html文件

在linux主机中增加view.html文件,其中src配置为自己的ip地址,可以保存至/home/onlyoffice中

没有这个文件夹就新建,mkdir -p /home/onlyoffice

src的值,要填写自己的主机IP,端口号就是刚才创建的onlyoffice容器暴露的端口

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>OnlyOffice Viewer</title>
</head>

<body>
    <div id="placeholder"></div>
    <script type="text/javascript" src="http://主机IP:8080/web-apps/apps/api/documents/api.js"></script>
    <script>
        function getQueryParamValue(name) {
            const searchParams = new URLSearchParams(window.location.search);
            return searchParams.get(name);
        }

        const url = decodeURIComponent(getQueryParamValue("src"));
        const fileName = url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('?') != -1 ? url.lastIndexOf('?') : url.length);
        const fileExtension = fileName.split('.').pop();
        const docEditor = new DocsAPI.DocEditor("placeholder", {
            "document": {
                "fileType": fileExtension,
                "permissions": {
                    "edit": false,
                    "comment": true,
                    "download": true,
                    "print": true,
                    "fillForms": true,
                },
                "title": fileName,
                "url": url,
            },
            "editorConfig": {
                "lang": "zh-CN",
                "mode": "view",
            },
            "height": "1080px",
            "type": "desktop",
        });
    </script>
</body>
</html>

3、安装nginx,并增加conf配置文件

安装nginx--参考:

rpm -Uvh http://nginx/packages/centos/7/noarch/RPMS/nginx-releasecentos-7-0.el7.ngx.noarch.rpm

yum install -y nginx

systemctl enable nginx --now

nginx安装好后,就在nginx中新建配置添加server,端口是8081

vim /etc/nginx/conf.d/onlyoffice.conf

server {
    listen       8081;
    server_name  localhost;

    location / {
       root /home/onlyoffice;  #这里修改为自己的view.html的目录
       index index.html index.htm;
    }

}

重启nginx

systemctl restart nginx 

4、alist预览配置增加
"onlyoffice":"http://主机IP:8081/view.html?src=$e_url"

 完成添加配置,现在可以在网页上正常预览文档。

本文标签: AlistONLYOFFICE