Java 在线预览pdf

参考文献

Java实现word文档在线预览,读取office(word,excel,ppt)文件 https://blog.csdn.net/weixin_34004576/article/details/94525426?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.pc_relevant_default&utm_relevant_index=2
Java 实现word pdf在线预览 https://blog.csdn.net/Black_Tshirt/article/details/81066520?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.pc_relevant_default&utm_relevant_index=6
SpringBoot读取Resource下文件的4种方法 http://cache.baiducontent.com/c?m=O4TEIcBO532jq6TszxU4g3APaU5-epsr6GjDxXiJmcb2mUbu3Zn3NLcVzn05T3fRjCkG9l-sJoCtBMS27gWNFu1duPewVlo8A51ySBdVDW6_1O4PLc6TDHIimjeoR-SsAzlYf2YBSd9RPT_ChLNg8EHBb6gzlx0QHTwLWQW32kqhpcnTjy0vWJyNDZ7fHNew&p=8e67c64ad4934eac59ecd23c48529f&newp=837e8b1e908912a05abd9b7d0c17c4231610db2151d7d11f6b82c825d7331b001c3bbfb422201a01d5ce7a6c03af485ce1f437783d0923a3dda5c91d9fb4c57479&s=cfcd208495d565ef&user=baidu&fm=sc&query=springboot++%B6%C1%C8%A1resources%CF%C2%CE%C4%BC%FE&qid=a9314b3f00084a77&p1=2

正文

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.5.12</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>test3</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>test3</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.11.0</version>
		</dependency>
	</dependencies>
</project>

TestController.java 

package com.example.test3.controller;

import org.apache.commons.io.IOUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;

@RestController
public class TestController {
    @GetMapping("/home")
    public void home(HttpServletResponse response) throws IOException {
        InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("pdf/123.pdf");
        ServletOutputStream outputStream = response.getOutputStream();
        long length = IOUtils.copy(inputStream, outputStream);
        System.out.println("该文件字节长度为 = " + length);
        IOUtils.close(inputStream);
        IOUtils.close(outputStream);
    }
}

测试

进阶,增加前端代码

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>清算值班</title>
    <style>

    </style>
</head>
<body>
<div id="app">
    <a href="http://localhost:8080/home" target="_blank">预览</a>
    <el-button
            type="success"
            @click="openPdf()">预览
    </el-button>
</div>
<script src="axios.min.js"></script>
<script src="vue.js"></script>
<script src="element-ui/index.js"></script>
<link rel="stylesheet" href="element-ui/index.css">
<script>
    var app = new Vue({
        el: '#app',
        data: {},
        methods: {
            openPdf() {
                window.open("http://localhost:8080/home", "_blank")
            },
        },
    })
</script>
</body>
</html>

 测试

点击预览

在新标签页打开pdf

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cgm625637391

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值