如何让除HTML,PDF外的文件在web可预览-jodconverter

这篇具有很好参考价值的文章主要介绍了如何让除HTML,PDF外的文件在web可预览-jodconverter。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jodconverter github,pdf,java,springboot

什么是jodconverter,GitHub上的文档是这么说的:

JODConverter,Java OpenDocument Converter,在不同的办公格式之间转换文档。 它利用Apache OpenOffice或LibreOffice,它们可以说是当今可用的OpenDocument和Microsoft Office格式的最佳免费导入/导出过滤器。

关键是免费兄弟们!!!!!!wps不会技巧的兄弟们还有开vip呢

其中有各种配置,感觉自己学不会是吧,没关系我们有 jodconverter-spring-boot-starter

JodConverter Spring Boot Starter 是一个开源的 Spring Boot 插件,用于将 Office 文档(如 Word、Excel 和 PowerPoint 等)转换为 PDF 格式。它基于 JodConverter 库实现,简化了将 JodConverter 集成到 Spring Boot 应用程序中的过程。

JodConverter 是一个用于将 Office 文档转换为 PDF、HTML、图片等格式的 Java 库。它使用 LibreOffice 或 OpenOffice 作为后端转换引擎,支持多种文档格式的转换。但是,要将 JodConverter 集成到 Spring Boot 应用程序中并不容易,需要进行大量的配置和依赖项管理。

LibreOffice:下载地址

OpenOffice:下载地址

为了简化这一过程,开发者推出了 JodConverter Spring Boot Starter。通过在 Spring Boot 应用程序中添加该插件,就可以轻松地将 JodConverter 集成到应用程序中,无需复杂的配置和依赖项管理。

首先,我们需要在 Spring Boot 应用程序的 pom.xml 文件中添加 jodconverter-spring-boot-starter 依赖项:

<properties>
		<org.jodconverter.version>4.4.7</org.jodconverter.version>
	</properties>
	<dependencies>

		<dependency>
			<groupId>org.jodconverter</groupId>
			<artifactId>jodconverter-core</artifactId>
			<version>${org.jodconverter.version}</version>
		</dependency>
		<dependency>
			<groupId>org.jodconverter</groupId>
			<artifactId>jodconverter-spring-boot-starter</artifactId>
			<version>${org.jodconverter.version}</version>
		</dependency>
		<dependency>
			<groupId>org.jodconverter</groupId>
			<artifactId>jodconverter-local</artifactId>
			<version>${org.jodconverter.version}</version>
		</dependency>

以及springboot相关配置

spring:
  office:
    home: /usr/lib/libreoffice
    ports: 8100
    timeout: 60000
    max-tasks-per-process: 10
    task-executor:
      core-pool-size: 2
      max-pool-size: 10
      queue-capacity: 100
  1. spring.office.home:指定 LibreOffice 或 OpenOffice 的安装目录。JodConverter 使用 LibreOffice 或 OpenOffice 作为后端转换引擎,该参数需要指定相应的安装目录。

  2. spring.office.ports:指定 LibreOffice 或 OpenOffice 的端口号。JodConverter 通过与 LibreOffice 或 OpenOffice 建立连接来执行转换任务,该参数需要指定可用的端口号。

  3. spring.office.timeout:指定转换任务的最大超时时间(以毫秒为单位)。如果转换任务在指定的超时时间内没有完成,将会被终止。

  4. spring.office.max-tasks-per-process:指定每个 LibreOffice 或 OpenOffice 进程可以处理的最大任务数。当达到最大任务数时,将会启动一个新的进程来处理额外的任务。

  5. spring.office.task-executor.core-pool-size:指定用于执行转换任务的线程池的核心线程数量。核心线程是一直保持活跃的线程,即使没有任务需要执行。

  6. spring.office.task-executor.max-pool-size:指定用于执行转换任务的线程池的最大线程数量。最大线程数量是线程池能够创建的最大线程数。

  7. spring.office.task-executor.queue-capacity:指定用于执行转换任务的线程池的任务队列容量。如果任务队列已满,新的任务将会被拒绝执行。

有的同学就会说了,不用启动吗,mysql都要我们自己启动啊

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 

命令给你们了,答案是不需要,springboot会帮我们启动,不懂得朋友可以看看源码

怎么使用那就太简单了,就这么几行。

@AllArgsConstructor
@Service
@Slf4j
public class PdfUtils {

	
	private final DocumentConverter documentConverter;
	

	public void toPDF(File file, String pdf) throws OfficeException {
		log.info("正在转换————————{}",file.getName());
		documentConverter
			.convert(file)
			.to(new File(pdf))
			.as(DefaultDocumentFormatRegistry.PDF)
			.execute();
		log.info("{}转换完成————————{}",file.getName(),pdf);
	}
}

ok,文章结束了~~~~~

但是后期小伙伴把服务弄上服务器又该出问题了。

ps:磊狗我都部署不上去你给我说出问题?

好吧帮人帮到底

写个dockerfile吧

FROM 你的基础镜像

#这个安装包上面有链接
COPY lib/Apache_OpenOffice_4.1.14_Linux_x86-64_install-deb_zh-CN.tar.gz /tmp/

COPY sources.list /etc/apt/sources.list

#这个两个是Windows上的字体,没有字体转换会出现乱码,需要的朋友私信我,我教你,就不放文件地址了你们懒得下载
COPY lib/*.ttf /usr/share/fonts/truetype/
COPY lib/*.ttc /usr/share/fonts/truetype/


RUN apt-get update \
    && apt-get install -y wget libxext6 libfreetype6 iproute2 openjdk-17-jdk \
    && rm -rf /var/lib/apt/lists/*

# 安装字体
RUN fc-cache -f -v

RUN cd /tmp \
    && tar -zxvf Apache_OpenOffice_4.1.14_Linux_x86-64_install-deb_zh-CN.tar.gz \
    && cd zh-CN/DEBS \
    && dpkg -i *.deb \
    && rm -rf /tmp/*


总之,JodConverter Spring Boot Starter 是一个非常实用的 Spring Boot 插件,可以轻松地将 JodConverter 集成到应用程序中,实现 Office 文档的格式转换。如果你正在开发一个需要将 Office 文档转换为 PDF 格式的应用程序,那么 JodConverter Spring Boot Starter 将是一个不错的选择,有任何问题欢迎私信留言。文章来源地址https://www.toymoban.com/news/detail-812664.html

到了这里,关于如何让除HTML,PDF外的文件在web可预览-jodconverter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3管理系统中后台返回pdf格式的文件流,前端如何预览?以及uniapp微信小程序中后台返回的base64位的pdf文件如何预览?

    后台返回的是base64格式的pdf文件,首先需要解析base64文件的插件 image-tools 1 安装并引入插件 2 封装预览pdf的函数 3 调用接口获取数据

    2024年01月18日
    浏览(93)
  • 【Vue】vue2使用pdfjs预览pdf文件,在线预览方式一,pdfjs文件包打开新窗口预览pdf文件

    【Vue】vue2预览显示quill富文本内容,vue-quill-editor回显页面,v-html回显富文本内容 【Vue】vue2项目使用swiper轮播图2023年8月21日实战保姆级教程 【Vue】vue2使用pdfjs预览pdf文件,在线预览方式一,pdfjs文件包打开新窗口预览pdf文件 提示:这里可以添加本文要记录的大概内容: vue

    2024年02月07日
    浏览(50)
  • 【PDF.js】PDF文件预览

    使用PDFJS实现pdf文件的预览,支持预览指定页、搜索、缩略图、页面尺寸调整等等。 官方地址 文档地址 下载地址 将下载的压缩包解压并放入到项目中的public文件夹下,我这里下载的是pdfjs-4.0.379-dist版本,如下 在 pdfjs-4.0.379-dist/web/viewer.mjs 内搜索 throw new Error(“file or

    2024年04月11日
    浏览(64)
  • pdf.js预览pdf文件

    预览pdf一般通过浏览器自带的pdf预览器就可以,但有时候需要窗口预览或自定义操作,可以使用pdf.js操作 pdf.js需要构建后使用,我们可以直接下载安装pdfjs-dist,这是构建好的版本 这里注意你的环境,新版本使用了可选链,空值合并和私有 class 字段/方法等,如果你的浏览器

    2024年02月03日
    浏览(69)
  • 前端预览pdf文件

    在前端开发中,很多时候我们需要进行pdf文件的预览操作,下面给出几种常见的预览pdf文件的方法: 如果项目对pdf的预览功能要求不高,只是要求能够看的话,可以直接在浏览器上打开pdf文件的地址,代码如下 PDF.js是一个由Mozilla开发的JavaScript库,用于在网页上呈现和操作

    2024年02月15日
    浏览(45)
  • 【vue-pdf】PDF文件预览插件

    1 插件安装 vue-pdf GitHub:https://github.com/FranckFreiburger/vue-pdf#readme 参考文档:https://www.cnblogs.com/steamed-twisted-roll/p/9648255.html catch报错:vue-pdf组件报错vue-pdf Cannot read properties of undefined (reading ‘catch‘)_你看我像是会的样子吗?的博客-CSDN博客 2 代码示例 Example.01 超简单分页预览 E

    2024年02月14日
    浏览(77)
  • 移动端页面预览pdf文件

    我们在项目中经常会遇到预览pdf文件的需求,对pc端来说实现这样的功能相对简单,因为可以直接在浏览器中打开文件链接进行预览,这里就不再详细介绍了。今天主要介绍一下手机端页面如何实现pdf的预览,无论是手机端web项目还是app中嵌入的web页面,我们均可以通过pdf.

    2024年02月16日
    浏览(41)
  • uniapp PDF文件预览/打开

    在微信小程序环境下需要配置pdf域名

    2024年01月19日
    浏览(49)
  • vue-pdf实现pdf文件在线预览

    在日常的工作中在线预览 PDF 文件的需求是很多的,下面介绍一下使用 vue-pdf 实现pdf文件在线预览 使用 npm 安装 vue-pdf npm install vue-pdf 使用 vue-pdf 显示 PDF 文件 此时页面中就会显示我们提供的 PDF 文件了,但是此时只显示了 PDF 文件的第一页 按页显示 PDF 文件 使用 vue-pdf 能满足

    2024年02月13日
    浏览(49)
  • web浏览器在线预览Excel,PDF,world文档解决方案

    众所周知啊,在web浏览器中是无法直接预览Excel、world文档等文件的,PDF有的浏览器是打开预览,有的浏览器是跳转到下载页,行为不一致也是让开发者头疼的事情。 今天给大家提供一个解决方案,实现office文件在线预览的解决方案,这个在开发OA,推送通知触达的应用非常有

    2024年02月17日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包