html – 如何在JSF页面上显示PDF

前端之家收集整理的这篇文章主要介绍了html – 如何在JSF页面上显示PDF前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的JSF页面显示一个PDF文件,我已经检查了这个 how to display a pdf document in jsf page in iFrame,但我不想在iframe上显示它(因为它会生成滚动条).我只想将pdf显示在像图像这样的页面上,并能够为它提供宽度和高度.

编辑你好BalusC.我仍然无法显示pdf内联.这是我的代码.

  1. @WebServlet(name = "pdfHandler",urlPatterns = {"/pdfHandler/*"})
  2. public class pdfHandler extends HttpServlet {
  3.  
  4. private static final int DEFAULT_BUFFER_SIZE = 10240;
  5.  
  6. protected void processRequest(HttpServletRequest request,HttpServletResponse response)
  7. throws ServletException,IOException {
  8.  
  9. String requestedFile = request.getPathInfo();
  10. File file = new File("/Users/KingdomHeart/Downloads/Test/pdf/" + requestedFile);
  11. response.reset();
  12. response.setContentType("application/pdf");
  13. response.setBufferSize(DEFAULT_BUFFER_SIZE);
  14. response.setHeader("Content-Length",String.valueOf(file.length()));
  15. response.setHeader("Content-Disposition","inline; filename=\"" + file.getName() + "\"");
  16. BufferedInputStream input = null;
  17. BufferedOutputStream output = null;
  18. try{
  19. input = new BufferedInputStream(new FileInputStream(file),DEFAULT_BUFFER_SIZE);
  20. output = new BufferedOutputStream(response.getOutputStream(),DEFAULT_BUFFER_SIZE);
  21. byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
  22. int length;
  23. while((length = input.read(buffer)) > 0){
  24. output.write(buffer,length);
  25. }
  26. }finally{
  27. output.close();
  28. input.close();
  29. }
  30. }
  31. ...
  32. }

它仍然提示我下载pdf文件.下载到我的电脑的pdf文件是正确的pdf文件btw.你能发现什么错吗?

解决方法

实际上并没有其他方式(期望HTML< object>标签具有相同的“问题”),但您可以只提供< iframe>固定大小并禁用滚动,如下所示:
  1. <iframe src="foo.pdf" width="600" height="400" scrolling="no"></iframe>

如果您还想隐藏(默认)边框,也可以添加frameBorder =“0”.

猜你在找的HTML相关文章