文档在线预览方案

本文档介绍了如何实现在线预览功能,包括文档上传、利用JODConverter与OpenOffice/LibreOffice转换、Aspose.jar转换,以及PDF展示的多种方法。详细阐述了每个步骤的关键点和注意事项,如并发转换、转换速度、费用问题以及前端展示方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

现有文档在线预览一般有两种方案:1、直接购买第三方成熟方案(如永中dcs,I DOC VIEW);2、利用第三方jar包自行开发。

下面主要展开自行开发方案。

主要步骤

  • 流程

 

一般最简单的流程为,先上传文档获取文件源,然后再进行文档转换,最后前端展示转换后的文档。

一、文档上传

1)controller 层可以使用 MultipartFile 接收多个文件流,然后存于服务端

public Boolean uploadFile(MultipartFile file, String filePath,
			String targetFileName) throws Exception {
		boolean flag = true;
		if (null == file) {
			return false;
		}

		if (!validateFileType(file)) {
			logger.info("文件类型校验失败!");
			return false;
		}

		if (file.getSize() > FILESIZE) {
			logger.info("文件大小超限!");
			return false;
		}

		if (!createFolder(filePath)) {
			logger.info(filePath + "创建失败!");
			return false;
		}

		try {
			File targetFile = new File(filePath, targetFileName + "."
					+ getFileExt(file));
			file.transferTo(targetFile);
		} catch (Exception e) {
			logger.error(e.getMessage());
			flag = false;
		}

		return flag;
	}

 

2)前端:  enctype="multipart/form-data" 和  <input type="file"/> 结合使用

 

二、文档转换

文档转换主要有以下几种方式:

1、JODConverter + openoffice/libreoffice

程序利用 jodconverter 去连接 openoffice(或libreoffice) 服务,实现转换。类似于 MySql 和 数据库连接池。

参考:https://github.com/sbraconnier/jodconverter

maven dependency

        <dependency>
            <groupId>org.jodconverter</groupId>
            <artifactId>jodconverter-core</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.jodconverter</groupId>
            <artifactId>jodconverter-local</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值