第一点,你的整个代码要用try--catch块来包含起来,免得出问题。
第二点,你用完后的reportFile没有释放掉,也就是close().
下面给一段我找到的代码,不知对你有没有帮助。
 {
  Document document = new Document(PageSize.A4, 36,36,36,36);
  ByteArrayOutputStream ba = new ByteArrayOutputStream();
  try
  {
   PdfWriter writer = PdfWriter.getInstance(document, ba);
   document.open();
   document.add(new Paragraph("Hello World"));
  }
  catch(DocumentException de)
  {
   de.printStackTrace();
         System.err.println("A Document error:" +de.getMessage());
  }
  document.close();
  response.setContentType("application/pdf");
  response.setContentLength(ba.size());
  ServletOutputStream out = response.getOutputStream();
  ba.writeTo(out);
  out.flush();
 }