IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> LibreOffice 下载、Linux安装、启动、Java集成pdf转换 -> 正文阅读

[Java知识库]LibreOffice 下载、Linux安装、启动、Java集成pdf转换

下载

官网中文主页:https://zh-cn.libreoffice.org/

点击下载,可选Linux、macOS、Windows三大类及其不同处理器对应的定制包

本次在Linux安装使用 LibreOffice_7.3.3_Linux_x86-64_rpm.tar.gz

安装

上传

将安装包放到Linux上

解压

tar -xvf LibreOffice_7.3.3_Linux_x86-64_rpm.tar.gz

安装

进入RPMS文件夹中,

cd LibreOffice_7.1.2_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm

安装过程中遇到选择,输入 y 回车

安装成功后会在 /opt/ 下生产一个 libreoffice7.3 的文件夹

启动

后台启动

nohup libreoffice7.3 --headless --accept="socket,host=0.0.0.0,port=8101;urp;" --nofirststartwizard &

启动时会把pid打到这行命令下面

测试

Linux本地测试文档转换命令:

/opt/libreoffice7.3/program/soffice --headless --invisible --convert-to pdf /opt/test.txt --outdir /opt

查看进程

ps -ef|grep libre

展示3个进程,第3个不算,如下

root      1459   789  0 12:08 pts/4    00:00:00 /opt/libreoffice7.3/program/oosplash --headless --accept=socket,host=0.0.0.0,port=8101;urp; --nofirststartwizard
root      1512  1459  0 12:08 pts/4    00:00:01 /opt/libreoffice7.3/program/soffice.bin --headless --accept=socket,host=0.0.0.0,port=8101;urp; --nofirststartwizard
root      7709   789  0 13:45 pts/4    00:00:00 grep --color=auto libre

查看端口占用

lsof -i:8101

展示如下
COMMAND    PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
soffice.b 1512 root   14u  IPv4 82428014      0t0  TCP *:ldoms-migr (LISTEN)

Java集成

工具包版

maven依赖

	<dependency>
        <groupId>com.artofsolving</groupId>
        <artifactId>jodconverter</artifactId>
        <version>2.2.1</version>
    </dependency>

测试代码

package com.oxye;

import com.artofsolving.jodconverter.DefaultDocumentFormatRegistry;
import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.DocumentFormat;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.StreamOpenOfficeDocumentConverter;
import lombok.extern.slf4j.Slf4j;

import java.io.*;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

@Slf4j
public class ConvertUtil {
    public static void main(String[] args) throws IOException {
        convert("E:\\tmp1\\wsnd.txt", "E:\\tmp1\\test.pdf");
    }

    public static void convert(String fromPath, String toPath) {
        File fromFile = new File(fromPath);
        if (!fromFile.exists()) {
            log.error("源文件不存在");
            return;
        }
        File toFile = new File(toPath);

        SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection("你滴ip", 你设置滴端口号);
        try {
            connection.connect();
            StreamOpenOfficeDocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection);
            converter.convert(fromFile, toFile);
        } catch (ConnectException e) {
            log.error("获取连接失败", e);
        } finally {
            if (connection.isConnected()) {
                connection.disconnect();
            }
        }
    }
}

SpringBoot starter版

maven依赖

SpringBoot starter

    <dependency>
        <groupId>org.jodconverter</groupId>
        <artifactId>jodconverter-spring-boot-starter</artifactId>
        <version>4.4.2</version>
    </dependency>
	<dependency>
        <groupId>org.jodconverter</groupId>
        <artifactId>jodconverter-core</artifactId>
        <version>4.4.2</version>
    </dependency>
	<dependency>
        <groupId>org.jodconverter</groupId>
        <artifactId>jodconverter-local</artifactId>
        <version>4.4.2</version>
    </dependency>
	<dependency>
        <groupId>org.jodconverter</groupId>
        <artifactId>jodconverter-remote</artifactId>
        <version>4.4.2</version>
    </dependency>

自动装配配置类,可以看出有两种模式,local是调用本地的,remote是远程的,docker启openoffice online才能用

org.jodconverter.boot.autoconfigure.JodConverterLocalAutoConfiguration
org.jodconverter.boot.autoconfigure.JodConverterLocalProperties
org.jodconverter.boot.autoconfigure.JodConverterRemoteAutoConfiguration
org.jodconverter.boot.autoconfigure.JodConverterRemoteProperties

先不考虑这个,项目要集群,不能使用local模式;也不使用docker,不能使用remote模式

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-06-16 21:31:54  更:2022-06-16 21:33:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:26:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码