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

Reply via email to