オンライン Word 編集専用Office オープンソース フレームワーク

オンライン Word 編集専用Office オープンソース フレームワーク

導入

Community Edition を使用すると、ONLYOFFICE Docs をローカル サーバーにインストールし、オンライン エディターを ONLYOFFICE コラボレーション プラットフォームやその他の一般的なシステムと統合できます。

ONLYOFFICE Docs は、テキスト、スプレッドシート、プレゼンテーション用のビューアとエディタを含むオンライン オフィス スイートで、Office Open XML 形式 (.docx、.xlsx、.pptx) と完全に互換性があり、リアルタイムの共同編集をサポートします。

office イメージのみをインストールする

# 将数据存储在容器外部
mkdir -p /app/onlyoffice/DocumentServer/logs
chmod 400 /app/onlyoffice/DocumentServer/logs
# onlyoffice/documentserver社区服务版本
#  onlyoffice/documentserver-de 为开发版本:里面内置了rabbitmq、redis、nginx等必要的服务
docker pull onlyoffice/documentserver
docker run -i -t -d -p -e TZ="Asia/Shanghai"  8888:80 --restart=always    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data     -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice     -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

バックエンドは 2 つのインターフェイスを提供するだけで済みます

  1. インターフェース 1: ファイルリンクと md5 を返す
  2. ファイル保存コールバック インターフェイスの
    公式 Web サイトの例:
public class IndexServlet extends HttpServlet {
    
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
        PrintWriter writer = response.getWriter();

        Scanner scanner = new Scanner(request.getInputStream()).useDelimiter("\\A");
        String body = scanner.hasNext() ? scanner.next() : "";

        JSONObject jsonObj = (JSONObject) new JSONParser().parse(body);

        if((long) jsonObj.get("status") == 2)
        {
    
    
            String downloadUri = (String) jsonObj.get("url");

            URL url = new URL(downloadUri);
            java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url.openConnection();
            InputStream stream = connection.getInputStream();

            File savedFile = new File(pathForSave);
            try (FileOutputStream out = new FileOutputStream(savedFile)) {
    
    
                int read;
                final byte[] bytes = new byte[1024];
                while ((read = stream.read(bytes)) != -1) {
    
    
                    out.write(bytes, 0, read);
                }

                out.flush();
            }

            connection.disconnect();
        }
        writer.write("{\"error\":0}");
    }
}

参照アドレス

公式サイトのインストール手順
のみoffice+vue オンラインプレビューを実現 オンライン編集
公式サイトの手順

おすすめ

転載: blog.csdn.net/qq_35385687/article/details/131537090