onlyoffice支持wps、dps和et格式的预览和编辑,支持office2003版本的编辑, 增加中文字体,字号

一、支持wps、dps和et格式的预览和编辑,支持office2003版本的编辑

onlyoffice的版本为7.2.2

1、修改documentserver,进入docker容器

docker exec -it onlyoffice-server bash

进入 /var/www/onlyoffice/documentserver/web-apps/apps/api/documents/ 目录,在api.js中以下两处添加添加wps、et和dps

cd /var/www/onlyoffice/documentserver/web-apps/apps/api/documents/
vim api.js
var appMap = {
      'text': 'docx',
      'text-pdf': 'pdf',
      'spreadsheet': 'xlsx',
      'presentation': 'pptx',
      'word': 'docx',
      'cell': 'xlsx',
      'slide': 'pptx',
      'wps': 'docx',
      'et': 'xlsx',
      'dps': 'pptx'
  }, app;
var type = /^(?:(xls|xlsx|ods|csv|xlst|xlsy|gsheet|xlsm|xlt|xltm|xltx|fods|ots|xlsb|et)|(pps|ppsx|ppt|pptx|odp|pptt|ppty|gslides|pot|potm|potx|ppsm|pptm|fodp|otp|dps)|(doc|docx|doct|odt|gdoc|txt|rtf|pdf|mht|htm|html|epub|djvu|xps|oxps|docm|dot|dotm|dotx|fodt|ott|fb2|xml|oform|docxf|wps))$/
                                    .exec(_config.document.fileType);
删掉api.js.gz文件
rm -rf api.js.gz

2、修改onlyoffice源码

修改配置文件代码,config.py

import os

FILE_SIZE_MAX = 5242880
STORAGE_PATH = 'app_data'
DOC_FOLDER = "doc"

DOC_SERV_VIEWED = [".pdf", ".djvu", ".xps"]
DOC_SERV_EDITED = [".docx", ".xlsx", ".csv", ".pptx", ".txt", ".wps", ".xls", ".doc", ".dps", ".et"]
DOC_SERV_CONVERT = [
    ".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt",
    ".fodt", ".ott", ".xlsm", ".xls", ".xltx", ".xltm",
    ".xlt", ".ods", ".fods", ".ots", ".pptm", ".ppt",
    ".ppsx", ".ppsm", ".pps", ".potx", ".potm", ".pot",
    ".odp", ".fodp", ".otp", ".rtf", ".mht", ".html", ".htm", ".epub"
]

DOC_SERV_TIMEOUT = 120000

DOC_SERV_CONVERTER_URL = 'http://0.0.0.0:9880/ConvertService.ashx'
DOC_SERV_API_URL = 'http://0.0.0.0:9880/web-apps/apps/api/documents/api.js'
DOC_SERV_PRELOADER_URL = 'http://0.0.0.0:9880/web-apps/apps/api/documents/cache-scripts.html'

EXAMPLE_DOMAIN = 'http://0.0.0.0:8000/'

DOC_SERV_JWT_SECRET = 'rtf_jwt_secret'


EXT_SPREADSHEET = [
    ".xls", ".xlsx", ".xlsm",
    ".xlt", ".xltx", ".xltm",
    ".ods", ".fods", ".ots", ".csv", ".et"
]

EXT_PRESENTATION = [
    ".pps", ".ppsx", ".ppsm",
    ".ppt", ".pptx", ".pptm",
    ".pot", ".potx", ".potm",
    ".odp", ".fodp", ".otp", ".dps"
]

EXT_DOCUMENT = [
    ".doc", ".docx", ".docm",
    ".dot", ".dotx", ".dotm",
    ".odt", ".fodt", ".ott", ".rtf", ".txt",
    ".html", ".htm", ".mht",
    ".pdf", ".djvu", ".fb2", ".epub", ".xps", "wps"
]


if os.environ.get("EXAMPLE_DOMAIN"):
    EXAMPLE_DOMAIN = os.environ.get("EXAMPLE_DOMAIN")
    
if os.environ.get("DOC_SERV"):
    base = os.environ.get("DOC_SERV").rstrip('/')
    DOC_SERV_CONVERTER_URL = base + '/ConvertService.ashx'
    DOC_SERV_API_URL = base + '/web-apps/apps/api/documents/api.js'
    DOC_SERV_PRELOADER_URL = base + '/web-apps/apps/api/documents/cache-scripts.html'

二、中文字体设置

进入容器
docker exec -it onlyoffice-server bash
删除自带字体
cd /var/www/onlyoffice/documentserver/core-fonts/     
rm -rf *
退出docker容器
exit
将字体复制到/var/www/onlyoffice/documentserver/core-fonts/文件夹下
docker cp /home/Fonts onlyoffice-server:/var/www/onlyoffice/documentserver/core-fonts/
进入到docker容器 :
docker exec -it onlyoffice-server bash
在docker容器里执行命令:
 /usr/bin/documentserver-generate-allfonts.sh
退出docker容器
 exit
重启docker镜像:
docker restart onlyoffice-server

三、中文字号添加

进入容器
docker exec -it onlyoffice-server bash
使用vim编辑app.js文件
vim /var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/app.js 
找到{value:8,displayValue:“8”}这个位置, 在前面添加以下字号
{value:42,displayValue:"初号"},
{value:36,displayValue:"小初"},
{value:26,displayValue:"一号"},
{value:24,displayValue:"小一"},
{value:22,displayValue:"二号"},
{value:18,displayValue:"小二"},
{value:16,displayValue:"三号"},
{value:15,displayValue:"小三"},
{value:14,displayValue:"四号"},
{value:12,displayValue:"小四"},
{value:10.5,displayValue:"五号"},
{value:9,displayValue:"小五"},
{value:7.5,displayValue:"六号"},
{value:6.5,displayValue:"小六"},
{value:5.5,displayValue:"七号"},
{value:5,displayValue:"八号"},
删除app.js.gz文件
rm -rf app.js.gz
退出docker容器
 exit
重启docker镜像:
docker restart onlyoffice-server

注意:测试时清除本地缓存

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Java可以通过使用相关的库或插件来支持微软Office和金山的WPS预览。这些库或插件可以实现将Office文档(如Word、Excel和PowerPoint文档)和WPS文档加载到Java应用程序中进行预览的功能。使用这些库或插件,我们可以在Java应用程序中打开、预览和操作这些文档。 对于微软Office文档预览,Java可以使用一些第三方库,如Apache POI或Aspose来实现。这些库可以读取Office文档的内容,并提供访问和处理文档的功能。例如,我们可以使用Apache POI库将Word文档打开并将其内容显示在Java应用程序中,或者使用Aspose来将Excel表格加载到Java应用程序中进行预览。 对于WPS文档预览,Java可以使用金山提供的WPS Office软件的开发包(SDK)来实现。WPS Office提供了Java版本的SDK,它可以用于在Java应用程序中加载和预览WPS文档。使用WPS SDK,我们可以打开、读取和显示WPS文档的内容,以实现WPS文档预览功能。 通过使用这些库或SDK,Java可以与微软Office和金山的WPS进行集成,从而在Java应用程序中实现对OfficeWPS文档预览功能。这使得开发者可以使用Java来处理并展示这些常见的办公文档格式,提供更好的用户体验,满足用户对预览功能的需求。 ### 回答2: 是的,Java可以支持微软Office和金山WPS预览功能。Java提供了丰富的API和库,用于处理各种文件格式,包括Microsoft OfficeWPS文档格式。通过使用Java的相关类,可以读取和解析这些文档的内容,并将其显示在应用程序中,实现预览的功能。 对于Microsoft Office,Java提供了Apache POI库,它可以读取和处理Word文档(doc和docx)、Excel电子表格(xls和xlsx)以及PowerPoint演示文稿(ppt和pptx)等格式。开发者可以使用POI库来从Office文档中提取文本、图像、表格等内容,并在Java应用程序中进行显示和预览。 对于金山WPS,Java也可以通过API来实现预览功能。金山WPS文档格式与微软Office类似,大部分文件都可以使用Apache POI库进行处理。另外,金山WPS也提供了自己的Java SDK,开发者可以使用它来读取和处理WPS文档,并进行预览。 总的来说,Java提供了丰富的功能和库,可以支持微软Office和金山WPS预览功能。开发者可以根据具体的需求,选择适合自己的API和库来实现预览,从而提供更好的用户体验和功能扩展。 ### 回答3: Java 的确支持微软 Office 和金山的 WPS 预览。这得益于 Java 语言强大的跨平台特性和丰富的第三方库支持。 对于微软 Office 预览,Java 提供了 Apache POI 这个开源项目。Apache POI 是一个 Java API,它允许我们读取、写入和操作 Microsoft Office 格式的文件,包括 Word 文档 (.docx),Excel 电子表格 (.xlsx) 和 PowerPoint 演示文稿 (.pptx) 等。 使用 Apache POI,我们可以从 Java 程序中读取 Office 文件内容,包括文本、样式、表格、图表等。同时,我们也可以通过 Apache POI 创建、编辑以及生成 Office 文件。这使得 Java 程序能够轻松实现对微软 Office 文件的预览功能。 至于金山 WPS预览,Java 提供了 Jacob 这个开源项目。Jacob 是一个 Java-COM 桥接器,通过它可以在 Java 程序中调用 COM 组件,而 WPS 就是一个 COM 组件。借助 Jacob,我们可以在 Java 中使用 WPS 的 COM 接口,实现对 WPS 文档的打开、预览和操作等功能。 需要注意的是,使用 Apache POI 和 Jacob 需要获取相应的库文件,并在 Java 程序中进行引用。并且,在使用 Jacob 时还需要配置正确的 COM 组件路径。但是,一旦正确配置并引入所需库,Java 就能很方便地支持微软 Office 和金山 WPS预览。 综上所述,Java 确实支持微软 Office 和金山 WPS预览,而 Apache POI 和 Jacob 这两个开源项目为我们提供了强大的工具和桥接器,使得我们能够在 Java 中实现对这两种格式文档进行预览操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程漫步者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值