Jovo Krneta
Jovo Krneta

Reputation: 558

Itext pdf invalid after download

When I download signed pdf document it is shown as invalid by Adobe Reader . I can view this file normally on server in my local project folder , but when I put this file through a process of downloading by my servlet something in this download process make a pdf invalid . This is my servlet download code :

response.setContentType("application/pdf");
response.setHeader("Expires", "0");
response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
response.setHeader("Content-Disposition","inline;filename=CompensationReport" + compensation+".pdf");
response.setHeader("Accept-Ranges", "bytes");

FileInputStream fis = new FileInputStream(thePdf1);
BufferedInputStream bis = new BufferedInputStream(fis);
ServletOutputStream sos = response.getOutputStream();
byte[] buffer = new byte[2048];
while (true) {
    int bytesRead = bis.read(buffer, 0, buffer.length);
    if (bytesRead < 0) {
        break;
    }
    sos.write(buffer, 0, bytesRead);
    sos.flush();
}
sos.flush();
bis.close();  
return;

Upvotes: 0

Views: 836

Answers (1)

jny
jny

Reputation: 8057

As described here try setting Content-Length

response.setContentLength(filebytesize);

Upvotes: 3

Related Questions