Linux下编译LibreOffice在线编辑
Linux下编译LibreOffice在线编辑
如何编译LibreOffice在线编辑
LibreOffice本身是没有在线编辑的功能,如果要编译LibreOffice在线编辑,需要编译另外一套源码CollaboraOnline,CollaboraOnline是基于LibreOffice为核心构建的文档在线编辑,编辑步骤参考以下内容:
环境
- Linux系统版本:Ubantu20.04
- CollaboraOnline源码分支:distro/collabora/co-22-05
步骤
- 打开shell命令窗口,执行以下代码,安装编译环境
sudo apt install -y dialog
sudo apt install -y libpoco-dev python3-polib libcap-dev npm \
libpam-dev wget git build-essential libtool \
libcap2-bin python3-lxml libpng-dev libcppunit-dev \
pkg-config fontconfig snapd chromium-browser
- 第二步是下载编译好的LibreOffice core源码,当然也可以自己拉取LibreOffice core源码进行编译,对应的分支:distro/collabora/co-22.05,想要快速的获取一个在线编辑,我们直接拉取官方编译好的core就可以了,执行以下代码:
wget https://github.com/CollaboraOnline/online/releases/download/for-code-assets/core-co-22.05-assets.tar.gz
- 拉取成功后解压
tar xvf core-co-22.05-assets.tar.gz
解压成功后会看到两个文件夹include和instdir,这两个文件里的包将是编译online源码的核心。
- 拉取git上online的代码
git clone https://github.com/CollaboraOnline/online.git
- 切换分支
git checkout distro/collabora/co-22-05
- 进入拉取online的目录,运行 autogen 生成配置文件:
cd online
./autogen.sh
- 执行配置文件,检查配置
./configure --enable-silent-rules --with-lokit-path=/data/core/include \
--with-lo-path=/data/core/instdir \
--enable-debug --enable-cypress
如果在检查配置的过程中报错,说明缺少对应的环境,请根据错误提示,安装对应的环境,参考步骤1
参数说明:
参数名 | 说明 |
---|---|
–enable-silent-rules | 减少详细构建输出 |
–with-lokit-path | LibreOffice core编译生成的include包路径 |
–with-lo-path | LibreOffice core编译生成的instdir 包路径 |
–enable-debug | 启用调试模式 |
–enable-cypress | 启用cypress test |
执行完./configure 命令后,检查如果没有报错,可以直接make或make run,make:直接构建,不运行demo,make run编译完成后直接运行demo。出现以下界面可以就证明环境检查没有问题,如果有问题,需要根据具体错误安装对应环境
- 执行编译
make run
编译完成后,出现9980端口,就是编译成功
往上滑动,可以看到测试链接
在这里插入图片描述
选择这个地址:https://localhost:9980/browser/dist/framed.doc.html?file_path=/data/holderOfficeOnline/online/test/data/hello-world.odt 其他地址访问会出错,打开这个地址后,正确的页面应该是:
点击here and accept security bits,可以在浏览器中浏览文档,效果如下:
结束语
到此,LibreOffice在线编辑文档编译工作就此结束,后续会持续更新如何将online嵌入到自己的业务系统中,如何进行二次开发修改源码,如果有疑问,可以留言,博主看到会回复。