2014-02-23 95 views
0

在阅读pdf任何帮助时出现此错误。我使用链接来阅读PDF文件ClientAbortException:java.net.SocketException:通过peer重置连接:套接字写入错误

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
PdfReader reader = null; 
PdfImportedPage page = null; 
try { PdfCopy writer = new PdfCopy(document, baos); 
document.open(); 
for (String pdfFile : pdfFiles) { 
    reader = new PdfReader(pdfFile); 
    for (int i = 1; i <= reader.getNumberOfPages(); i++) { 
    page = writer.getImportedPage(reader, i); 
    writer.addPage(page); 
    } 
    reader.close(); } 


    document.close(); 
} catch (Exception e) { System.out.println(e); 
} finally { if (document != null && document.isOpen()) { document.close(); } } 
response.setContentType("application/octet-stream"); 
response.setHeader("Content-disposition", "attachment; filename=Text.pdf"); 
response.setContentLength(baos.size()); 
OutputStream outStream = response.getOutputStream(); 
baos.writeTo(outStream); 
+0

ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfReader reader = null; PdfImportedPage page = null; try {PdfCopy writer = new PdfCopy(document,baos); document.open(); for(String pdfFile:pdfFiles){ reader = new PdfReader(pdfFile);对于(int i = 1; i <= reader.getNumberOfPages(); i ++){ page = writer.getImportedPage(reader,i); writer.addPage(page); } reader.close(); } – user3274923

+0

document.close(); (例外e){ } catch(Exception e){ \t System.out.println(e); }最后{ 如果(文档= NULL && document.isOpen()!){ document.close(); } } response.setContentType( “应用/八位字节流”); response.setHeader(“Content-disposition”,“attachment; filename = Text.pdf”); response.setContentLength(baos.size()); OutputStream outStream = response.getOutputStream(); baos.writeTo(outStream); – user3274923

回答

2

ClientAbortException是一个tomcat异常,当应用程序发送给浏览器,但浏览器终止这种情况发生或者已经终止了请求。这意味着,您的代码一直运行到最后一行,然后生成异常。也许这一代需要很长时间,浏览器连接超时?

测试pdf生成和发送到浏览器隔离。如果问题仍然存在,请发布周围的servlet代码。

相关问题