openOffice+pdf.js文件在线预览

1.openOffice说明:

OpenOffice 是一套跨平台的办公室软件套件,能在Windows、Linux、MacOS X (X11)和 Solaris 等操作系统上执行。它与各个主要的办公室软件套件兼容。OpenOffice 是自由软件,任何人都可以免费下载、使用及推广它。
可以用openOffice进行文件格式的转化。Apache提供了相应的接口文档

openOffice下载

使用openOffice转换文件格式

首先导入相关的Jar包/maven依赖。
所需要的Jar包如下:

  1. commons-cli-xx.jar
  2. commons-io-xx.jar
  3. jodconverter-core-3.0-beta-4.jar
  4. json-xxx.jar
  5. juh-xx.jar
  6. jurt-xx.jar
  7. ridl-xx.jar
  8. unoil-xx.jar

maven依赖为:在pom.xml中添加下段配置

	 <dependency>
	    <groupId>org.jodconverter</groupId>
	    <artifactId>jodconverter-core</artifactId>
	    <version>4.0.0-RELEASE</version>
	</dependency>

准备完成…

1.创建一个OfficeManager,使用OfficeManager。开启OpenOffice服务,OfficeManager可以通过DefaultOfficeManagerBuilder生成
下边上代码:

	/**
	 * 
	 * @return 返回一个OfficeManager实例,用于处理转换业务
	 * @throws OfficeException 
	 */
	
	private static OfficeManager getOfficeManager() throws OfficeException {
		DefaultOfficeManagerBuilder builder=new DefaultOfficeManagerBuilder();
		//此处入参可以填写OpenOffice安装路径,本例子中,openOffice安装在E盘
		builder.setOfficeHome("E:/DevelopTools/openOffice/workspace");
		OfficeManager officeManager =builder.build();
		//officeManager提供了开启OpenOffice的API服务
		officeManager.start();
		return officeManager;
	}

2.使用OfficeDocumentConverter,调用转换文件的API服务,提前设置一个接受文件。可按自己喜欢设置路径

	public static File openOfficeExperience(String sourceFilePath){
		OfficeManager officeManager;
		String name="convertFile.pdf";
		File outputFile=new File(name);
		try {
			//开启OpenOffice服务
			OfficeManager manage=getOfficeManager();
			File sourceFile = new File(sourceFilePath);
			//设置转换后的文件存储路径,文件名
			
			//使用OfficeDocumentConverter类转换文件,其实核心就这一句
			OfficeDocumentConverter converter=new OfficeDocumentConverter(manage);
			converter.convert(sourceFile,outputFile);
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			//关闭资源占用
			if(officeManager != null){
	               try {
	                   officeManager.stop();
	               } catch (OfficeException e) {
	                   e.printStackTrace();
	               }
	       }
		}
		return outputFile;
	}

如此就可以将一个文件转化为pdf格式了。

这里简单运行了一下。可以发现在本地文件夹下出现了个文件:
在这里插入图片描述
其实就是之前自个指定的文件名。

使用pdf.js在线预览文件

首先下载PDF.js
下载路径
下载解压放入项目路径下,目录结构如下:
![![在这里插入图片描述](https://img-blog.csdnimg.cn/20190617155259454.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDEyMjUwMA==,size_16,color_FFFFFF,t_70](https://img-blog.csdnimg.cn/20190617155457242.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80N
编写简单的前端页面例子view.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
    function detail() {
        window.open("/web/viewer.html?file=/convertFile.pdf");
    }
</script>
</head>
<body>
<h1 onclick="detail()">点击查看PDF文件</h1>
</body>
</html>

配置上简单的控制器:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ViewPDFController {
	@RequestMapping("/view")
	public String view() {
		return "view";
	}
}

添加依赖:

	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

运行访问:http://localhost:8080/view,结果如下
在这里插入图片描述

附个代码Code地址:

github:https://github.com/kizunaY/simpleDemo

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值