반응형
스프링 Boot에서 PDF 출력하기
이 튜토리얼에서는 Spring (Spring MVC)에서 pdf 파일을 표시하고 다운로드하는 방법을 보여줍니다. 빠른 시작을 위해 Spring Boot를 사용하고 pdf를 표시하려면 jsp를보기로 사용하십시오 ( Spring Boot 에서 jsp를 사용하는 방법은 Spring Boot JSP 예제를 클릭하십시오 ).
프로젝트 구조
├─main
│ ├─java
│ │ └─com
│ │ └─henryxi
│ │ └─pdf
│ │ DisplayDownloadPDFController.java
│ │
│ └─resources
│ │ application.properties
│ │
│ └─META-INF
│ └─resources
│ │ Accepted.pdf
│ │
│ └─WEB-INF
│ └─jsp
│ index.jsp
│
└─test
└─java
POM.XML 파일
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>8.0.28</version>
</dependency>
자바 코드
@Controller
@EnableAutoConfiguration
public class DisplayDownloadPDFController{
@RequestMapping("/")
public String index() {
return "index";
}
@RequestMapping(value = "/download", method = RequestMethod.GET)
public void getFile(HttpServletResponse response) {
try {
DefaultResourceLoader loader = new DefaultResourceLoader();
InputStream is = loader.getResource("classpath:META-INF/resources/Accepted.pdf").getInputStream();
IOUtils.copy(is, response.getOutputStream());
response.setHeader("Content-Disposition", "attachment; filename=Accepted.pdf");
response.flushBuffer();
} catch (IOException ex) {
throw new RuntimeException("IOError writing file to output stream");
}
}
public static void main(String[] args) throws Exception {
SpringApplication.run(DisplayDownloadPDFController.class, args);
}
}
application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
server.port = 8090
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<embed src="/Accepted.pdf" width="500" height="375" type='application/pdf'>
<a href="/download">download</a>
</body>
</html>
main 메소드를 실행 DisplayDownloadPDFController
하고 http : // localhost : 8090 /에 액세스 하십시오 . pdf 컨텐츠 및 다운로드 링크를 볼 수 있습니다. 이 예제는 크롬과 파이어 폭스 모두에서 작동합니다.
반응형
'Spring' 카테고리의 다른 글
Spring, Spring boot mybatis 예제 (0) | 2020.06.21 |
---|---|
Spring boot interceptor 예제 (0) | 2020.06.17 |
스프링 부트의 JdbcTemplate 예제 (0) | 2020.06.17 |
스프링 부트 Resource 파일 데이터로 가져오기 (0) | 2020.06.17 |
스프링 부트 @Async 비동기 예제 (0) | 2020.06.16 |