2016-11-21 57 views
0

我想在我的应用程序的浏览器中打开一个空白的PDF。我正在使用Spring Web模型 - 视图 - 控制器(MVC)框架。Spring MVC - 在浏览器中打开一个空白PDF

下面的代码

@Override 
     public ModelAndView handleRequest(HttpServletRequest request, 
       HttpServletResponse response) throws Exception { 
    byte[] data = "No file attached".getBytes(); 
    String fileName = "NofileFound.pdf"; 
      response.setHeader("Content-Disposition","attachment; filename="+fileName); 
      response.setContentType("application/pdf");   
      OutputStream out = response.getOutputStream();  

Document document = new Document();   
      PdfWriter writer = PdfWriter.getInstance(new Document(), new FileOutputStream("NofileFound.pdf")); 
      document.open(); 
      document.add(new Paragraph("test")); 
      document.close(); 
      writer.close(); 

      ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
      PdfWriter.getInstance(document, byteArrayOutputStream);   
      data = byteArrayOutputStream.toByteArray(); 

      out.write(data); 
      out.flush(); 
      out.close();   
      return null; 
    } 

但是当我打开我得到这个错误的文件:

not a supported file type 
+1

你不能让空白的PDF这样。你必须使用iText,PDFBox等第三种库。 –

+0

删除行response.setHeader(“Content-Disposition”,“attachment; filename =”+ fileName); –

+0

@YWWin - 你确定你的解决方案可行吗?我怀疑! –

回答

0
@Override 
     public ModelAndView handleRequest(HttpServletRequest request, 
       HttpServletResponse response) throws Exception { 

    response.setContentType("application/pdf"); 
    Document document = new Document(); 
    PdfWriter.getInstance(document, response.getOutputStream()); 
    document.open(); 
    document.add(new Paragraph("empty pdf")); 
    document.close(); 

    return null 
}