在如今的企业协作场景中,“文档” 早已不是简单的文字载体!从项目需求文档的多人实时修改,到财务报表的在线批注,再到合同草案的版本追溯,用户越来越需要在 Web 应用内直接完成 “编辑 - 协作 - 存储” 全流程。

但很多 Java 开发者会遇到一个难题:自研文档功能成本高、兼容性差,第三方插件又容易出现 “割裂感”,怎么才能让专业文档工具和现有 Java Web 系统 “无缝对接”?

 ONLYOFFICE 文档正是解决这个问题的关键。它能轻松嵌入 Java、Python、Node.js 等各类 Web 应用,让你的系统瞬间拥有企业级文档处理能力。阅读本文,了解详细教程。

关于 ONLYOFFICE 文档

ONLYOFFICE 文档是多合一的文档编辑套件,支持文字、表格、幻灯片、 PDF 和表单的编辑与协作,高度兼容微软Office格式。易于使用和集成,可以在您的网站、平台或系统中高效处理多种类型的文档,实现文件格式间的便捷转换和无缝协作。

 如果您想要将为自己的系统和平台集成编辑功能,您可以了解我们的开发者版本:

ONLYOFFICE文档开发者版:集成至Web应用程序,实现文档编辑功能

为什么要在 Web 程序中集成文档编辑器

Java 作为企业级 Web 开发的 “中流砥柱”,广泛应用于 OA 系统、CRM 平台、教育管理系统等场景。这些场景下,通过集成 ONLYOFFICE 文档,你的用户可以在您的应用中直接编辑和协作处理文档,而无需切换到其他工具,为您带来以下显著优势:

 1. ​易于集成,提升用户体验

ONLYOFFICE 文档可以无缝地适应您的网络应用,支持多种流行的编程语言和开发框架,包括JavaScript、Python、Java、C#等。我们为前端框架提供现成的组件样本 (Angular, React, Vue 等)。

2. ​多种部署方式

您可以将 ONLYOFFICE 文档开发者版集成到您的 SaaS 或本地解决方案中,支持私有化部署和内网环境使用,更好得保护数据安全。此外,您可以在多种安装选项中选择部署编辑器,例如Docker、Snap、阿里云镜像等。

3. ​品牌自定义和扩展性

我们提供白标产品,您可以更改 logo,自定义编辑界面,选择显示或隐藏额外的按钮,为您的用户提供更好的品牌体验。ONLYOFFICE 文档可以为任何数量的用户进行扩展,即使您有成千上万的用户,也能满足需求。而且无论是开发文件和内容管理系统、CRM 和电子学习平台、邮箱和项目管理软件等,ONLYOFFICE 都可以很好的适应不各种业务场景和工作流程。

了解更多ONLYOFFICE开发者版优势

实操指南:集成 ONLYOFFICE 到 Java Web

注意:本示例仅用于测试目的以及演示编辑器的功能。在没有进行适当的代码修改之前,请勿在您自己的服务器上使用此集成示例。如果您启用了测试示例,在投入生产环境之前请将其禁用。

重要安全信息

在使用测试示例时,请牢记以下安全方事项:

  • 由于无需授权,存储不受未经授权访问的保护。
  • 由于参数是由代码根据预先安排的脚本生成的,因此不会对链接中的参数替换进行检查。
  • 编辑后保存文件的请求中不会进行数据检查,因为每个测试示例仅适用于来自 ONLYOFFICE 文档的请求。
  • 不禁止从其他网站使用测试示例,因为它们旨在与来自其他域的 ONLYOFFICE 文档进行交互。

一、适用于 Windows 系统

步骤1. 安装 ONLYOFFICE 文档

在开始集成前,需要先为自己的系统安装合适的 ONLYOFFICE 文档(打包为文档服务器):

如需了解更多安装 ONLYOFFICE 文档和本次集成的示例信息,请查看详细指南。

步骤2.下载用于编辑器集成的 Java 代码

下载代码包 Java 示例,解压到本地。

在 src/main/resources/settings.properties 文件中指定编辑器安装的路径和存储文件夹的路径:

storage-folder = app_data
files.docservice.url.site=https://documentserver/

其中 documentserver 是安装了 ONLYOFFICE 文档的服务器的名称,storage-folder 是创建和存储文件的路径。您可以设置绝对路径。例如,D:\\folder。请注意,在 Windows 操作系统上,双反斜杠必须用作分隔符。

如果要试验编辑器配置,请修改 src/main/webapp/editor.jsp 文件中的参数。

步骤 3. 安装 Apache Tomcat 的 Java 版本

要运行 Java 示例代码,请安装适用于您的操作系统和 Web 服务器 Apache Tomcat 的 Java 版本:

  • Java(从 Oracle 官网下载);
  • Apache Tomcat:9.0.x 版(从官网下载)。

步骤 4. 运行 Apache Tomcat

1. 在 Windows 上安装 Java 后,将 JAVA_HOME 环境变量设置为指向 Java 安装目录。

找出 Java 的安装位置。如果您在安装过程中没有更改路径,它将是这样的:

C:\Program Files\Java\jdk1.8.0_65

在 Windows 7 中,右键单击我的电脑并选择属性,然后单击高级

在 Windows 8中,进入控制面板并选择系统,然后单击高级系统设置

单击环境变量按钮。

系统变量,单击新建

变量名称字段中,如果您安装了JDK(Java 开发工具包),请输入 JAVA_HOME;如果您安装了 JRE(Java 运行时环境),请输入JRE_HOME

变量值字段中,输入您的 JDK 或 JRE 安装路径,例如 C:\Program Files\Java\jdk1.8.0_65

Add new environment variable

检查命令提示符中的 echo 命令是否成功创建变量:

echo %JAVA_HOME%

2. 运行命令提示符更改 Apache Tomcat 安装目录的当前目录:

cd /d C:\Apache Tomcat\apache-tomcat-7.0.67\bin

3. 使用 startup.bat 脚本启动 Apache Tomcat:

startup.bat

您将看到显示的新 Tomcat 控制台窗口,其中提供有关 Tomcat 启动的信息和消息:

Tomcat console window

使用 Web 浏览器中的地址测试 Tomcat 安装:

http://localhost:8080

如果一切正确,您将在浏览器中看到 Tomcat 网页,如下所示。

步骤 5. 配置 JWT

打开 src/main/resouces/settings.properties 文件,并与 ONLYOFFICE 文档指定相同密钥 以启用 JWT:

files.docservice.secret=secret

步骤 6. 运行 Java 代码

1. 通过单击 Manager App: 打开 Tomcat Web Application Manager:

Manager app

2. Tomcat Web Application Manager 将请求 username 和 password:

Sign in to Tomcat app

在 Apache Tomcat 安装文件夹中的 tomcat-users.xml 文件中指定用户数据。定义 manager-gui 用户角色,指定 user name 和 password 的值:

<tomcat-users><role rolename="manager-gui"/><user username="tomcat" password="tomcat" roles="manager-gui"/>
</tomcat-users>

3. 在 Tomcat Web Application Manager中上传 Java 项目。为此,单击 WAR file to deploy 部分中的 Choose File 并在 Java 项目文件夹中找到*.war* 文件,然后单击 Deploy

Deploy WAR file

Choose WAR file

4. 您将在 Application 列表中看到该项目:

Application list

5. 单击应用程序名来运行它。

步骤 7. 检查可访问性

如果示例和 ONLYOFFICE 文档安装在不同的计算机上,请确保安装了示例的服务器可以访问您指定地址的 ONLYOFFICE 文档,而不是配置文件中的 documentserver。确保 ONLYOFFICE 文档能够访问安装了示例的服务器,该示例使用您在配置文件中 指定的地址而不是 example.com 安装。

二、适用于 Linux 系统

步骤 1. 安装 ONLYOFFICE 文档

下载并安装 ONLYOFFICE 文档(打包为文档服务器):

获取 ONLYOFFICE 文档

请参阅详细指南以了解如何安装适用于Linux的 ONLYOFFICE 文档。

步骤 2. 安装的先决条件及使用编辑器运行网站

1. 按照此处说明安装 Java

2. 下载包含 Java 示例的存档并解压缩存档:

wget https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/Java.Example.zip
unzip Java.Example.zip

3. 将当前目录更改为项目目录:

cd Java\ Example/

4. 编辑 src/main/resources/settings.properties 配置文件。指定安装了 ONLYOFFICE 文档的本地服务器的名称。

nano src/main/resources/settings.properties

编辑以下行:

storage-folder = app_data
files.docservice.url.site=https://documentserver/

其中 documentserver 是安装了 ONLYOFFICE 文档的服务器的名称,storage-folder 是创建和存储文件的路径。请注意,您必须具有对该文件夹的读取和写入权限。如果您没有它们,请使用下一个命令:

sudo chmod -R ugo+rw /{path}

与 ONLYOFFICE 文档指定相同密钥以启用 JWT:

files.docservice.secret=secret

5. 安装 Maven:

sudo apt-get install maven

6.构建:

mvn package

7. 使用管理页面安装 Tomcat

sudo apt-get install tomcat8 tomcat8-admin

8. 在 Tomcat 上配置管理员用户:

sudo nano /var/lib/tomcat8/conf/tomcat-users.xml

插入以下行:

<role rolename="manager-gui"/>
<user username="USERNAME" password="PASSWORD" roles="manager-gui"/>

其中 USERNAME 和 PASSWORD 是您自己的凭据数据。

重启 Tomcat:

systemctl restart tomcat8

9. 使用管理员用户凭据在浏览器中打开 Tomcat 管理页面:

http://localhost:8080/manager/html

10. 从 target/OnlineEditorsExampleJava-1.0.war 选择要上传的 WAR 文件。

11. 使用地址在浏览器中查看结果:

http://localhost:8080/OnlineEditorsExampleJava-1.0/

步骤 3. 检查可访问性

如果示例和ONLYOFFICE 文档安装在不同的计算机上,请确保安装了示例的服务器可以访问您指定地址的 ONLYOFFICE 文档,而不是配置文件中的 documentserver。确保 ONLYOFFICE 文档能够访问安装了示例的服务器,该示例使用您在配置文件中 指定的地址而不是 example.com 安装。

三、适用于 Docker 系统

步骤 1. 安装 ONLYOFFICE 文档

下载并安装 ONLYOFFICE 文档,了解如何安装适用于Docker的 ONLYOFFICE 文档。

步骤 2. 安装先决条件并使用编辑器运行网站

1. 按照此处说明安装 Java

2. 下载包含 Java 示例的存档并解压存档:

wget https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/Java.Example.zip
unzip Java.Example.zip

3. 将当前目录更改为项目目录:

cd Java\ Example/

4. 编辑 src/main/resources/settings.properties 配置文件。指定安装了 ONLYOFFICE 文档的本地服务器的名称:

nano src/main/resources/settings.properties

编辑以下行:

storage-folder = app_data
files.docservice.url.site=https://documentserver/

其中 documentserver 是安装了 ONLYOFFICE 文档的服务器的名称,storage-folder 是创建和存储文件的路径。

与 ONLYOFFICE 文档指定相同密钥以启用 JWT:

files.docservice.secret=secret

5. 在 Java 示例目录中运行下一个命令:

docker-compose up

6. 之后,所有的 bin 文件将被传递到 ./target 文件夹。

步骤 3. 检查可访问性

如果示例和 ONLYOFFICE 文档安装在不同的计算机上,请确保安装了示例的服务器可以使用您在配置文件中指定的地址(而不是 documentserver )访问ONLYOFFICE 文档。确保 ONLYOFFICE 文档可以访问安装了示例的服务器,该示例的地址是您在配置文件中指定的地址,而不是 example.com

ONLYOFFICE 文档的特性,让你可以根据业务需求自定义界面、扩展功能。现在就动手试试,让你的 Java Web 应用拥有 “开箱即用” 的专业文档协作能力吧!

希望本文能为您在文档编辑器集成与开发的应用中提供全面的指导和参考。如果在集成过程中遇到问题,欢迎在评论区留言讨论。

 相关链接

更多文档 API 语言示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/921706.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921706.shtml
英文地址,请注明出处:http://en.pswp.cn/news/921706.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多模态大模型Keye-VL-1.5发布!视频理解能力更强!

近日&#xff0c;快手正式发布了多模态大语言模型Keye-VL-1.5-8B。 与之前的版本相比&#xff0c;Keye-VL-1.5的综合性能实现显著提升&#xff0c;尤其在基础视觉理解能力方面&#xff0c;包括视觉元素识别、推理能力以及对时序信息的理—表现尤为突出。Keye-VL-1.5在同等规模…

洗完头后根据个人需求选择合适的自然风干 | 电吹风 (在保护发质的同时,也能兼顾到生活的便利和舒适。)

文章目录 引言 I 选合适的方式让头发变干 时间充裕,不需要做造型,选择自然风干 使用电吹风,比较推荐的做法 II 自然风干 天冷可能刺激头皮 III 电吹风吹干 容易造型 影响头皮健康 损伤发质 科普 头皮的微观结构 头发丝 引言 吹风吹干:容易造型,但损伤发质、影响头皮健康 …

GPS汽车限速器有哪些功能?主要运用在哪里?

GPS 汽车限速器是一种结合全球卫星定位&#xff08;GPS&#xff09;技术、车速采集技术与车辆控制 / 预警逻辑的设备&#xff0c;核心目标是通过技术手段限制车辆行驶速度&#xff0c;减少超速引发的交通事故&#xff0c;并辅助车辆管理。其功能与应用场景高度匹配不同用户的 “…

Python从入门到精通_01_python基础

1 源代码格式在python文件的第一行&#xff0c;输入以下语句&#xff0c;可以将python文件的编码格式设置为utf-8#-*- coding:utf-8 -*-2 输入输出input():输入&#xff0c;无论输入的是什么类型数据&#xff0c;最后都是字符串类型print(*args, sep , end\n, fileNone, flushF…

使用CI/CD部署项目(前端Nextjs)

写在前面&#xff1a;在github上使用CI/CD部署Nextjs项目&#xff0c;具体配置可以按照自己的实际的修改 这是我的项目配置&#xff0c;仅供参考 后端项目可以参考&#xff1a;使用CI/CD部署后端项目 正文开始 项目名&#xff08;PROJECT_NAME&#xff09;- CI/CD 部署指南…

Java全栈工程师面试实录:从基础到实战的全面解析

Java全栈工程师面试实录&#xff1a;从基础到实战的全面解析 面试官&#xff1a;李明&#xff08;资深技术负责人&#xff09; 应聘者&#xff1a;张宇&#xff08;28岁&#xff0c;硕士学历&#xff0c;5年开发经验&#xff09; 第一轮&#xff1a;Java语言与JVM基础 李明&…

C#中解析XML时遇到注释节点报错

在C#中解析XML时遇到注释节点报错的问题&#xff0c;这是因为XML注释节点&#xff08;<!-- -->&#xff09;是特殊的节点类型。当遍历XML节点时&#xff0c;注释节点也会被包含在内&#xff0c;但它们不能像普通元素节点那样处理。 解决方案 方法1&#xff1a;跳过注释节…

9.3深度循环神经网络

目前为止&#xff0c;只讨论了具有一个单向隐藏层的循环神经网络&#xff0c;其中隐变量和观测值域具体的函数形式的交互方式是相当随意的。只要交互类型建模具有足够的灵活性&#xff0c;不是一个单问题。然而&#xff0c;对一个单层来说&#xff0c;可能具有相当的挑战性。之…

CSS in JS 的演进:Styled Components, Emotion 等的深度对比与技术选型指引

CSS in JS 的演进&#xff1a;Styled Components, Emotion 等的深度对比与技术选型指引在现代前端开发中&#xff0c;组件化思维已成为主流&#xff0c;而如何科学、高效地管理组件的样式&#xff0c;也随之成为了一个重要议题。CSS in JS&#xff08;JS中的CSS&#xff09;应运…

【正则表达式】 正则表达式的分组和引用

🌈 个人主页:(时光煮雨) 🔥 高质量专栏:vulnhub靶机渗透测试 👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~) 🌵目录🌵 前言 🍱一、基本语法 🍘二、分组类型 🍙2.1.…

Grafana 导入仪表盘失败:从日志排查到解决 max\_allowed\_packet 问题

问题背景 近期在为项目搭建一套基于 Prometheus 和 Grafana 的可观测性体系。在完成基础部署后&#xff0c;我准备导入一个功能相对复杂的官方仪表盘模板&#xff0c;以便快速监控各项指标。然而&#xff0c;当上传仪表盘的 JSON 文件并点击保存时&#xff0c;Grafana 界面却反…

java对接物联网设备(一)——使用okhttp网络工具框架对接标准API接口

当前无论是在互联网领域&#xff0c;还是物联网项目下&#xff0c;亦或者各类应用类软件&#xff0c;基于http标准接口的对接是目前市面上最常见也是最简单的数据交互方式之一&#xff0c;甚至可以说是最流行的&#xff0c;因为它不依赖的各种插件或者服务。 开发者或者提供服…

版本管理系统与平台(权威资料核对、深入解析、行业选型与国产平台补充)

本文是一篇基于公开权威资料&#xff08;官方文档、产品页、厂商技术文章与技术社区讨论&#xff09;重新检索、核对后撰写的详尽博文。内容覆盖&#xff1a;版本控制基础、主流 VCS 工具深度比较、常见托管/协作平台&#xff08;含中国本土平台&#xff1a;Gitee / GitCode / …

计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】

精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍二…

Easy ES技术详解

从Java代码示例到高级特性 框架介绍 Easy-Es 是一款以 “简化 Elasticsearch 操作的 ORM 框架” 为核心定位的开源工具&#xff0c;旨在通过低代码设计降低 Elasticsearch 的使用门槛。作为国内 Top1 Elasticsearch 搜索引擎框架&#xff0c;其最显著的优势在于大幅缩减代码量…

【51单片机】【protues仿真】基于51单片机停车场的车位管理系统

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能 1、LCD1602液晶显示 2、统计并显示停车场现有车辆数和已停放过车辆数 3、按键设置总车位数以及剩余车位数 4、统计并显示累计驶入和累计驶出车辆数 5、用16个LED灯模拟停车位 6、车…

【Python】S1 基础篇 P4 if 语句指南

目录简单示例条件测试检查是否相等与不等检查多个条件检查特定的值是否在/不在列表中布尔表达式if语句简单的if语句if-else语句if-elif-else语句使用if语句处理列表检查特殊元素确定列表非空使用多个列表总结if 语句是Python编程中最基本也是最重要的控制结构之一。它允许程序根…

【实战中提升自己】内网安全部署之STP的安全技术部署

1 1拓扑 「模拟器、工具合集」复制整段内容 链接&#xff1a;https://docs.qq.com/sheet/DV0xxTmFDRFVoY1dQ?tab7ulgil1 STP的安全技术部署 说明&#xff1a;为什么需要注意STP的安全呢&#xff0c;在二层中其实存在很多不安全的因素&#xff0c;物理上…

GEM5学习(5): ARM 架构功耗仿真

运行脚本基于gem5提供的脚本&#xff0c;启动功耗仿真。实际工作中应该不会用gem5进行功耗的仿真吧&#xff0c;Cadence和Synopsys好像都有配套的的功耗建模工具。事先要配置好 IMG_ROOT的环境变量./build/ARM/gem5.opt configs/example/arm/fs_power.py \--caches \--bootl…

【Python基础】 19 Rust 与 Python if 语句对比笔记

一、基本语法对比 Rust if 语句 // 基本形式 let number 7;if number < 5 {println!("condition was true"); } else {println!("condition was false"); }// 多条件 else if if number % 4 0 {println!("number is divisible by 4"); } el…