When the user is presented with the "File Download" dialog box from Adobe,
they have the choice of "Open", "Save", or "Cancel".
Open and Save work fine, but when I click "Cancel", I get a SocketException.
I am using J2EE with Struts. The PDF file is generated via creating a
Document and writing to the Java Graphics2D. Here's the routine which
builds the PDF:
public void createPrintPreviewPDF( javax.servlet.http.HttpSession session)
{ Document document = null;
PdfWriter writer = null;
PdfContentByte cb = null;
try
{ // Specify Document size with no margins
document = new Document( super.LETTER_SIZE, 0, 0, 0, 0 );
String docRoot = session.getServletContext().getRealPath("/");
writer = PdfWriter.getInstance(document, new
java.io.FileOutputStream( docRoot + "contract.pdf") );
document.open();
cb = writer.getDirectContent();
g = cb.createGraphics( super.LETTER_WIDTH, super.LETTER_HEIGHT);
}
catch(DocumentException de) { System.out.println("Document
problem: " + de.getMessage()); }
catch(Exception e) { System.out.println("Problem: " +
e.getMessage()); }
// This creates 8 pages of the same form
for ( int i=0; i < 8; i++ )
{ cb.saveState();
printContract(); // This writes to Graphics2D
cb.restoreState();
try { document.newPage(); }
catch(DocumentException dex)
{ System.out.println("Document New Page problem: " +
dex.getMessage());
break;
}
}
document.close(); // Send the PDF to the user
writer.close();
} // end createPrintPreviewPDF()
Here's the Stack trace:
StandardWrapperValve[defaultRoot]: Servlet.service() for servlet defaultRoot
threw exception
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.catalina.connector.ResponseBase.flushBuffer
(ResponseBase.java:679)
at org.apache.catalina.connector.HttpResponseBase.flushBuffer
(HttpResponseBase.java:741)
at org.apache.catalina.connector.ResponseBase.write(ResponseBase.java:652)
at org.apache.catalina.connector.ResponseStream.write(ResponseStream.java:312)
at org.apache.catalina.connector.http.HttpResponseStream.write
(HttpResponseStream.java:189)
at org.apache.catalina.servlets.DefaultServlet.copyRange
(DefaultServlet.java:1893)
at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1642)
at org.apache.catalina.servlets.DefaultServlet.serveResource
(DefaultServlet.java:1194)
at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:519)
at org.apache.catalina.servlets.DefaultServlet.doPost(DefaultServlet.java:555)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispatcher.java:683)
at org.apache.catalina.core.ApplicationDispatcher.doForward
(ApplicationDispatcher.java:431)
at org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispatcher.java:355)
at org.apache.struts.action.RequestProcessor.doForward
(RequestProcessor.java:1097)
at org.apache.struts.action.RequestProcessor.processForwardConfig
(RequestProcessor.java:429)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:272)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1187)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:451)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke
(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process
(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions