개발/Javascript & Typescript

[Javascript] 웹으로 PDF 띄우기

devhooney 2022. 6. 27. 23:41
728x90

회사 요구사항으로 PDF를 뛰워야했다.

- 이전에 Java로 띄웠었는데, 간편하게 Javascript로 가능하다.

window.open('서버파일경로+파일명.확장자');

 

- Java로 하면

FileInputStream fis = null;
BufferedOutputStream bos = null;

try {
	String pdfFileName = "경로+파일명.확장자";
	File pdfFile = new File(pdfFileName);

	// 클라이언트 브라우져에서 바로 보는 방법(헤더 변경)
	response.setContentType("application/pdf");

	// 이 구문이 있으면 [다운로드], 이 구문이 없다면 바로 target 지정된 곳에서 띄울 수 있다.
	//response.addHeader("Content-Disposition", "attachment; filename="+pdfFile.getName()+".pdf");

	//파일 읽고 쓰는 건 일반적인 Write방식이랑 동일. 다만 reponse 출력 스트림 객체에 write.
	fis = new FileInputStream(pdfFile);
	int size = fis.available(); //지정 파일에서 읽을 수 있는 바이트 수를 반환
	byte[] buf = new byte[size]; //버퍼설정
	int readCount = fis.read(buf);

	response.flushBuffer();
	bos = new BufferedOutputStream(response.getOutputStream());
	bos.write(buf, 0, readCount);
	bos.flush();

} catch(Exception e) {
	e.printStackTrace();
} finally {
	try {
		if (fis != null) fis.close(); //close는 꼭! 반드시!
		if (bos != null) bos.close();
	} catch (IOException e) {
		e.printStackTrace();
	}
}

 

차이가 어마어마하다.

728x90