SpringBoot在线预览PDF文件
本项目Demo使用了PDF.js插件实现PDF在线阅读功能PDF.js插件下载地址
1、创建SpringBoot项目,目录结构如下:
2、进行项目配置:
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.han</groupId><artifactId>online-read-pdf</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.10.RELEASE</version><relativePath /></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency></dependencies></project>
application.yml
spring.thymeleaf.cache = false
spring.thymeleaf.content-type = text/html
spring.thymeleaf.encoding = UTF-8
spring.thymeleaf.mode = HTML5
spring.thymeleaf.prefix = classpath:/templates/
spring.thymeleaf.suffix = .html
PDFApplication.java
package com.han;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class PDFApplication {public static void main(String[] args) {SpringApplication.run(PDFApplication.class, args);}
}
IndexController.java
package com.han.controller;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class IndexController {@RequestMapping("/index")public String index() {return "index";}@RequestMapping(value = "/preview", method = RequestMethod.GET)public void pdfStreamHandler(HttpServletRequest request, HttpServletResponse response) {//PDF文件地址File file = new File("E:\\pdf\\pdf\\GJB 8748-2015(GJB 6482-2008k).pdf");if (file.exists()) {byte[] data = null;FileInputStream input=null;try {input= new FileInputStream(file);data = new byte[input.available()];input.read(data);response.getOutputStream().write(data);} catch (Exception e) {System.out.println("pdf文件处理异常:" + e);}finally{try {if(input!=null){input.close();}} catch (IOException e) {e.printStackTrace();}}}}
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>在线阅读PDF文件</title>
</head>
<script>function onLineReadPDF() {window.open("/js/web/viewer.html?file=/preview");}
</script>
<body><h1 onclick="onLineReadPDF()">在线阅读PDF文件</h1>
</body>
</html>
运行结果效果图:
项目源码下载地址:https://download.csdn.net/download/semial/11142874
SpringBoot在线预览PDF文件相关推荐
- html中在线预览pdf文件之pdf在线预览插件
html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...
- html做在线预览pdf文件,html中在线预览pdf文件之pdf在线预览插件
html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...
- android 在线预览pdf文件
android原生webView不支持预览pdf文件,ios却可以,所以android想要实现在线预览webView要通过其他方法,有以下几种方法: 1.andorid原生自带的pdf管理库,主要提供 ...
- 如何在html中在线预览pdf文件?
方法1:使用 jquery js 库 1.引入 jquery-3.1.1.min.js 和 jquery.media.js 两个js文件,下载保存到本地 下载连接:jquery-3.1.1.min.j ...
- Vue-pdf实现在线预览PDF文件
前言 在大多数项目中都会遇到在线预览PDF文件,项目使用的是element ui,使用vue-pdf实现. 安装依赖 npm install --save vue-pdf 相关参数 参数介绍: url ...
- uniapp在线预览pdf文件
公司要求uniapp打包的h5和app都要能在线预览pdf文件.最开始是想找uniapp的插件,去插件市场搜了下,没得几个插件可用,且需要收费,所以直接用的pdf.js插件实现,在h5以及h5打包的a ...
- 网页中实现安卓手机在线预览PDF文件
写在前面:本文为转载,原文链接:https://blog.csdn.net/super_DuoLa/article/details/90207965原文链接 苹果手机可以直接在线预览PDF文件,而安卓 ...
- html 在线预览pdf功能,html中在线预览pdf文件之pdf在线预览插件
html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件!javascript 翻来覆去找到两种办法 ,最后采用了jquery.media.js插 ...
- js在线预览pdf文件
js在线预览PDF文件 一.效果预览 二.实现代码: <html> <head> <meta http-equiv="Content-Type" co ...
- html浏览pdf文件,HTML网页在线预览PDF文件
image.png image.png 今日工作需要,需要在线预览PDF文件,so,做了个研究,下面将网页在线预览pdf的方法做个梳理,大家共同学习成长吧 方法分为三种 1. 方法1-embed标签 ...
最新文章
- java配置中心开源项目_配置中心搭建(spring-cloud-config-server)
- laravel php跨域请求,Laravel 5.x设置跨域访问
- 安装alien,DEB与RPM互换
- CL_THTMLB_COLOR_UTIL
- MySQL分组查询语句
- Java中ArrayList和Vector的区别
- android studio dns问题_Android网络优化篇-从DNS开始
- 《机器学习Python实践》第6章——数据理解
- perl的文件操作(1)
- 分析QQ和QQ游戏的价值特性极其快速发展的原因,并对其盈利模式进行探讨
- ORA-12514 错误的处理
- html设置超链接位置,怎么调超链接的位置html
- 【机器学习】西瓜书一些关键词
- linux基础操作--参考狂神说
- JVM之垃圾回收 II ——方法区和堆区的垃圾回收、STW
- windows环境下将yolo-fatest的caffe模型转化为wk模型
- 基于地理位置服务(LBS)技术平台
- 棱形打印--进阶2(Java)
- 一文懂熵Entropy
- 微信小程序扫码实现web自动登录