背景介绍

Aspose office文档处理软件,需要付费,网上也有破解的java包,使用比较方便。

最近系统中想做个页面的展示和下载的功能,正好公司购买了Aspose (收费)软件,简单的实现方案是Aspose + PDFObect 将excel转成pdf,直接使用插件来实现预览和下载。记录下来,方便备查!

一、excel 转 PDF

Aspose 适合办公文档的操作,如excel转pdf,word转pdf,excel数据导出,只需要简单的操作就能够实现功能。以下通过Java中的文件流实现转PDF,调用save方法。

String excelPath = "E://example.xlsx";
String wordPath = "E://example.doc";
String pdfPath = "E://example.pdf";
try {    
		FileInputStream fileInputStream = null;
		FileOutputStream fileOutputStream = null;
		//excel文件       
		File excelFile = new File(excelPath);
		if (excelFile.exists()) {           
			fileInputStream = new FileInputStream(excelFile);
			Workbook workbook = new Workbook(fileInputStream);
			File pdfFile = new File(pdfPath);
			fileOutputStream = new FileOutputStream(pdfFile);
			////////excel 转 PDF方法
			workbook.save(fileOutputStream, SaveFormat.PDF); 
			/////// word 转 PDF方法
			Document doc = new Document(wordPath ); 
			 doc.save(os, com.aspose.words.SaveFormat.PDF);
			}              
		}catch (Exception e) {           
			e.printStackTrace();       
		} finally {
			//记得关闭 打开的文件流
			if (fileInputStream != null) {
				try {
					fileInputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (fileOutputStream != null) {
				try {
					fileOutputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

执行成功,在E盘下生成 example.pdf 文件 在这里插入图片描述

二、pdfobject 页面展示

首先到官网上下载插件,下载地址:https://pdfobject.com/

1、引用js文件
<script type="text/javascript" src="js/pdfobject.min.js"></script>
2、展示pdf文件

pdfobject 具有可设置的属性,如支持指定位置,指定打开的起始页。

//定义区域 用于在页面上放PDF
<div id="localPDF"></div>
<script>
	//打开pdf文件,全屏
       PDFObject.embed("pdf/Java.pdf");
       //指定位置
       PDFObject.embed("/pdf/data.pdf", "#localPDF");
       //指定开始页数
       PDFObject.embed("/pdf/data.pdf", "#localPDF"{page: "5"});
 </script>

博客来源

【1】https://pdfobject.com/ 【2】https://blog.csdn.net/qshazi/article/details/80885416