您的位置:首页 > 财经 > 产业 > 手机app软件开发用什么语言_网站推广的方式?_企业网站推广方案设计毕业设计_2022年最火的电商平台

手机app软件开发用什么语言_网站推广的方式?_企业网站推广方案设计毕业设计_2022年最火的电商平台

2025/5/10 0:19:03 来源:https://blog.csdn.net/make_progress/article/details/147303846  浏览:    关键词:手机app软件开发用什么语言_网站推广的方式?_企业网站推广方案设计毕业设计_2022年最火的电商平台
手机app软件开发用什么语言_网站推广的方式?_企业网站推广方案设计毕业设计_2022年最火的电商平台

制作Unoconv项目的Docker镜像

1 介绍

1.1 Unoconv

在Linux下将Office转换为pdf的很多包仅支持Windows,Unoconv是一个用LibreOffice转化文档的项目,已经归档(2025-3-31)。迁移后的新版本是unoserver,unoserver不太好用,我没安装成功,推荐使用Unoconv。

参考地址

# 归档版本
https://github.com/unoconv/unoconv# 新版本
https://github.com/unoconv/unoserver

1.2 LinuxServer.io

LinuxServer.io是一个借助docker将开源项目封装为镜像的组织团队。他们封装了很多有用的镜像。本文借助linuxserver封装的LibreOffice进行二次封装镜像。

参考地址

# linuxserver官网地址
https://www.linuxserver.io/# Github地址
https://github.com/linuxserver/

1.3 LibreOffice

LibreOffice是一个功能强大的免费、开源的办公软件套件。由于LibreOffice官网没有见到封装docker镜像。所以本文使用LinuxServer.io封装的LibreOffice。

参考地址

# LibreOffice官网
https://www.libreoffice.org/# Github上linuxserver封装的LibreOffice地址
https://github.com/linuxserver/docker-libreoffice

1.4 KasmVNC

KasmVNC是一款开源的、基于Web 的 VNC 服务器,用户可以直接通过浏览器访问远程桌面,无需安装任何客户端。 lscr.io/linuxserver/libreoffice:7.6.7使用这个开源项目借助浏览器访问LibreOffice系统。

参考地址

# 官网
https://www.kasmweb.com/kasmvnc# Github上linuxserver封装的KasmVNC地址
https://github.com/linuxserver/docker-baseimage-kasmvnc

2 构建Unoconv镜像

2.1 下载linuxserver/libreoffice镜像

下载镜像

# lscr.io/linuxserver/libreoffice和linuxserver/libreoffice是同一个镜像# 下载linuxserver/libreoffice
docker pull linuxserver/libreoffice:7.6.7# 下载lscr.io/linuxserver/libreoffice
docker pull lscr.io/linuxserver/libreoffice:7.6.7

创建容器

docker run -itd --name pyunoconv linuxserver/libreoffice:7.6.7

在宿主机内将data.docx复制到unoserver容器中,用于文档转换测试。

docker cp data.docx pyunoconv:/home/

2.2 封装pyunoconv容器

(1)进入容器

# 进入容器
docker exec -it pyunoconv /bin/bash

(2)创建虚拟环境

⚠️ 注意:在linuxserver/libreoffice中自带Python,它是为linuxserver/libreoffice系统提供可视化支撑的(系统的Python环境),所以不能作为用户研发环境。如果使用系统的Python会出现下面错误。

error: externally-managed-environment× This environment is externally managed

Python虚拟环境

# 进入容器中的home目录
cd /home# 在home中创建虚拟环境
python -m venv pyunoconv# 激活虚拟环境
source ./pyunoconv/bin/activate

Python安装unoserver依赖

pip install --upgrade setuptools wheel
pip install unoconv

⚠️下面的报错需要执行 pip install --upgrade setuptools wheel

ERROR: Could not find a version that satisfies the requirement distutils (from versions: none)
ERROR: No matching distribution found for distutils

(3)测试unoserver

使用python时可使用subprocess包通过命令行的形式调用即可。

# 在将测试的office转化为pdf
unoconv -f pdf data.docx

执行结果

在这里插入图片描述

2.3 解决中文乱码

没安装中文字体会出现转换时都是空,无法转中文。解决方法将Windows下的C:\Windows\Fonts的字体全部打包为”Fonts.zip“,复制到容器中的/usr/share/fonts/

在宿主机中将"Fonts.zip"复制到容器中。

docker cp Fonts.zip pyunoconv:/home/

在pyunoconv容器中解压和移动字体

# 进入容器
docker exec -it pyunoconv /bin/bash# 进入目录
cd /home# 进入容器解压字体包
unzip Fonts# 将字体移动到字体目录下
mv Fonts/* /usr/share/fonts/

3 Web访问LibreOffice

基于Docker使用linuxserver/libreoffice:7.6.7镜像实现在线预览LibreOffice。由于linuxserver/libreoffice内置了KasmVNC,所以可以使用浏览器使用LibreOffice。

使用Docker创建镜像

docker run -d \--name=libreoffice \--security-opt seccomp=unconfined `#optional` \-e PUID=1000 \-e PGID=1000 \-e TZ=Etc/UTC \-p 3000:3000 \-p 3001:3001 \-v /path/to/config:/config \--restart unless-stopped \lscr.io/linuxserver/libreoffice:7.6.7

访问地址

端口3000是http的访问地址,端口3001是https是https的访问地址。

http://192.168.108.146:3000/

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com