Aspose + PDFObject
背景介绍
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