如何返回不可编辑的PDF作为回复?

时间:2012-11-12 10:51:29

标签: java pdf

我有一个网址:

http://www.irs.gov/pub/irs-pdf/fw4.pdf

它包含可编辑的PDF。我让它不可编辑。我这样做并将其保存在文件夹的临时目录中。现在我想发送不可编辑的PDF作为回复,当用户点击此网址时,他必须获得不可编辑的pdf。这就是我到目前为止所做的事情:

String strDirectoy ="C:\\Temp";
boolean success = (
    new File(strDirectoy)).mkdir();
    if (success) {
        System.out.println("Directory: " 
        + strDirectoy + " created");
    }  
PdfReader reader = new PdfReader("http://www.irs.gov/pub/irs-pdf/fw4.pdf");//C:\\fw4.pdf
PdfStamper stamp2 = new PdfStamper(reader, new FileOutputStream("C:\\Temp\\Flattened.pdf"));
AcroFields form2 = stamp2.getAcroFields();
stamp2.setFormFlattening(true);
stamp2.close();

现在我需要删除temp文件夹,就像它从未存在一样,并返回不可编辑的PDF作为上述指定网址的响应。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

  • 写一个Servlet。
  • 将您的pdf压缩在一个临时文件中(使用 createTempFile()的{​​{1}}和deleteOnExit()方法。
  • 使用HttpServletResponse的java.io.File设置MIME类型 的pdf。
  • 将临时pdf文件的内容写入 http响应的输出流