openOffice+pdf.js文件在线预览

匿名 (未验证) 提交于 2019-12-02 23:43:01

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
下载路径
下载解压放入项目路径下,目录结构如下:

编写简单的前端页面例子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

文章来源: https://blog.csdn.net/weixin_44122500/article/details/92657280
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!