답변
그냥 사용 <iframe>
일반적인 방법 :
WebContent
에있는 것이 아니라 어딘가에 설치하지 말이면
<iframe src="/path/to/file.pdf"></iframe>
그렇지 않으면 디스크 파일 시스템이나 심지어는 데이터베이스에, 그럼 당신은 기본적으로 가져 와서 대답 OutputStream
에 쓰는 Servlet
이 필요합니다 :
response.reset();
response.setContentType("application/pdf");
response.setContentLength(file.length());
response.setHeader("Content-disposition", "inline; filename=\"" + file.getName() + "\"");
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
input = new BufferedInputStream(new FileInputStream(file), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
} finally {
close(output);
close(input);
}
당신이 this article에 유사한 서블릿의 완전한 예제를 찾을 수 있습니다 대신이 서블릿 : 예컨대 :
<iframe src="/path/to/servlet/file.pdf"></iframe>
를 가리 단지 수 있습니다 이쪽으로.
도 JSF 1.2 이상을 사용한다고 가정하고 JSF에서 잘 작동합니다.
<f:verbatim><iframe src="/path/to/servlet/file.pdf"></iframe></f:verbatim>
내가 틀렸다면 나에게 맞는 서블릿을 web.xml에 등록하지 않아도됩니다. 서블릿 3.0, 맞습니까? 이 '@WebServlet (name = "pdfHandler", urlPatterns = { "/ pdfHandler"})'을 실행하고''을 시도했지만 서블릿이 호출되지 않았습니다. . 기묘한. 왜 이런 식으로 행동하는지, BalusC? –
@Harry : 그러면 URL이 잘못되었습니다. 컨텍스트 경로를 고려 했습니까? 당신의 예제에서는 웹 애플리케이션이 ROOT에 배치 될 것으로 기대합니다. 편집 : 오, 기다려, 귀하의 URL 패턴'/ pdfHandler/*'요청 매개 변수 대신 여분의 경로 정보 URL을 받아 들일 수있다. – BalusC
그래, 실제로'http : // localhost : 8080/MyNote-war/pdfHandler'라는 URL 전체를 사용해야한다.'/ pdfHandler'로 충분할 것이라고 생각했다. –
내가 당신을 추천 : JSF 1.1 이상에서는 그렇지 않으면 출력에 탈구 될 것 같은 그들은 JSF 컴포넌트 트리로 이동합니다 있도록 <f:verbatim>
내부 <iframe>
같은 일반 바닐라 HTML 요소를 포장해야 봐야 http://www.jpedal.org/입니다. 각 PDF 페이지를 이미지로 변환하여 브라우저에 개별적으로 전달할 수 있습니다.
이 방법은 pdf가 절대로 클라이언트에 전송되지 않으므로 응용 프로그램에 대해보다 안전합니다.
물론 그들은 무료가 아닙니다. D 실제로는 꽤 비쌉니다. –
** "이 방법은 pdf가 절대로 보내지 않기 때문에 응용 프로그램에 더 안전합니다. 클라이언트 "** 어째서?! 브라우저에 표시되는 모든 것이 실제로 처음으로 클라이언트 시스템에 다운로드되는 것이 아닙니까? 그리고 여기에는 모든 CSS, js, 이미지, html 파일이 포함됩니다! – Nabeel
모든 페이지가 jpg로 렌더링되고 PDF는 최종 사용자가 "직접"액세스 할 수 없습니다. 물론 그는 "아날로그 구멍"을 활용하고 모든 단일 페이지를 다운로드 할 수 있습니다. 그러나 사용자가 전체 문서를 탐색해야하므로이 작업은 다소 시간이 걸릴 수 있습니다. 또한이 정보를 서버에 등록하고 적절한 조치를 취할 수 있습니다. –
- 1. JSF 페이지에 PDF를 표시하는 방법
- 2. WPF에서 PDF 문서를 표시하는 PDF 라이브러리
- 3. jsp에서 iframe의 PDF, Struts2도
- 4. iPhone의 내장 PDF 뷰어를 사용하여 문서를 표시하는 방법
- 5. ASP.net 페이지에 PDF 문서 표시
- 6. 내 aspx 페이지에서 문서를 표시하는 방법
- 7. iframe의 div를 다른 iframe에 표시하는 방법
- 8. 폴더에서 문서를 표시하는 방법은 무엇입니까?
- 9. HTML 페이지에 .PDF 파일을 삽입하는 대체 방법
- 10. PDF 이진 디스플레이 페이지에
- 11. 웹 페이지에 이미지를 표시하는 방법
- 12. 페이지에 URL을 표시하는 우아한 방법
- 13. 웹 페이지에 PDF 렌더링
- 14. 프로그래밍 C#에서 PDF 문서를 검색하는 방법
- 15. (문서 디렉토리의) PDF 문서를 이메일에 첨부하는 방법
- 16. Windows 서비스에서 PDF 문서를 인쇄하는 방법
- 17. Microsoft Surface 응용 프로그램에서 PDF 문서를 표시하는 방법은 무엇입니까?
- 18. 인쇄 가능한 PDF 문서를 브라우저에 표시하는 방법은 무엇입니까?
- 19. iOS 디바이스의 JSF 스트리밍 PDF
- 20. JSF 웹 페이지에 포함
- 21. jsf 페이지에 검색 기능을 추가하는 방법
- 22. PDF 문서보다 먼저 로딩 화면을 표시하는 방법
- 23. IE6에서 PDF 첨부 파일을 표시하는 방법
- 24. jsf 페이지의 목록 안에 목록을 표시하는 방법
- 25. 방법처럼 수평 방향으로 데이터를 표시하는 방법 JSF
- 26. JSF - messages.properties의 값을 동적으로 표시하는 방법
- 27. 워드 문서를 pdf 파일로 변경
- 28. PDF 문서를 처리하는 방법은 무엇입니까?
- 29. Word 문서를 PDF - Python으로 변환
- 30. 안드로이드에서 정보를 PDF 형식으로 표시하는 방법
그래서, jsp 또는 jsf? – Bozho
그리고 새 창이나 iframe에서 어디에서 표시하고 싶습니까? – Bozho
관련 : http://stackoverflow.com/questions/1776142/getoutputstream-has-already-been-called-for-this-response – skaffman