I use the following code:

response.setContentType("application/pdf");
response.setContentLength(baos.size());
response.setHeader("Content-disposition", " inline; filename=report.pdf");
ServletOutputStream sos = response.getOutputStream();
baos.writeTo(sos);
sos.flush();

----- Original Message ----- 
From: "Sammy" <[EMAIL PROTECTED]>
To: "Paulo Soares" <[EMAIL PROTECTED]>
Sent: Tuesday, April 26, 2005 11:57 PM
Subject: Re: [iText-questions] Why would iText work with 4.0 websphere, but
not with 6.0


Hi Paulo,

Removed extra CR and tried it again, but it did not work. Any other
suggestions?

Thanks
Sam

On 4/26/05, Paulo Soares <[EMAIL PROTECTED]> wrote:
> It looks like it worked in 4.0 by accident. You have several extra CR that
> are messing the result. Where you have:
>
> <%@ page
>
import="java.util.*,java.io.*,com.lowagie.text.*,com.lowagie.text.pdf.*,java
> x.servlet.*,javax.servlet.http.*"
> %>
>
> <%!
> String templateFile = "c:\\dbaco\\DBA4.pdf";
>
> Replace with:
>
> <%@ page
>
import="java.util.*,java.io.*,com.lowagie.text.*,com.lowagie.text.pdf.*,java
> x.servlet.*,javax.servlet.http.*"
> %><%!
> String templateFile = "c:\\dbaco\\DBA4.pdf";
>
> And so on.
>
> ----- Original Message -----
> From: "Sammy" <[EMAIL PROTECTED]>
> To: "Paulo Soares" <[EMAIL PROTECTED]>
> Sent: Tuesday, April 26, 2005 10:05 PM
> Subject: Re: [iText-questions] Why would iText work with 4.0 websphere,
but
> not with 6.0
>
> Hi Paulo,
>
> Yes it works with firefox as well - when I use websphere 4.0. When
> migrated to 6.0 (I guess different jdk?), it does not work with IE or
> firefox. Here is the jsp code.
>
> <%@ page
>
import="java.util.*,java.io.*,com.lowagie.text.*,com.lowagie.text.pdf.*,java
> x.servlet.*,javax.servlet.http.*"
> %>
>
> <%!
> String templateFile = "c:\\dbaco\\DBA4.pdf";
> PdfReader reader = null;
> float width = 0;
> float height = 0;
>
> Rectangle psize;
>
> public void jspInit(){
>            try{
>
>             reader = new PdfReader(templateFile);
>             psize = reader.getPageSize(1);
>             width = psize.width();
>             height = psize.height();
>
>    }catch(Exception e){
>    log("Faild to load template file "+ e.getMessage());
>    }
>         }
> %>
> <%  response.setContentType("application/pdf"); %>
> <jsp:useBean id="billBean" class="dba.NhawbLabelBean" />
> <!-- set dbBillNumber from cyber bill to direcly set all the fields -->
> <jsp:setProperty
> name="billBean"
> property="*"
> />
>
> <%
>    String terminalPhone = null;
>    try
>    {
>       terminalPhone = session.getValue("terminalPhone").toString();
>    }catch(Exception e) {
>    log("Session does not contain terminalPhone...redirecting. Error:
> "+ e.getMessage());
>    response.sendRedirect("../html/onlineforms.htm");
>    }
>
>    if (terminalPhone == null || terminalPhone.length() < 5)
>    terminalPhone = "1-800-272-1379";
>
>    //SSS 11/14/2003 allow upto 50 labels at a time
>    int startValue = billBean.getStartValue();
>
>    System.out.println("****"+ startValue);
>
>    String custRefNum = billBean.getCustRefNum();
>    if (custRefNum == null)
>    custRefNum = " ";
>
>    StringBuffer cnAddress = new StringBuffer();
>    cnAddress.append(billBean.getCnName() + "\n");
>    cnAddress.append(billBean.getCnAddrs1() + "\n" );
>    if (billBean.getCnAddrs2()!= null)
>    cnAddress.append(billBean.getCnAddrs2() + "\n");
>    if ( billBean.getCnCity()!= null)
>    cnAddress.append(billBean.getCnCity() );
>
>    if (billBean.getCnState() != null)
>         cnAddress.append( "," + billBean.getCnState());
>
>    if (billBean.getCnZip() != null)
>     cnAddress.append( " - " + billBean.getCnZip());
>    if (billBean.getCnCountry() != null)
>     cnAddress.append("\n" + billBean.getCnCountry() );
>    if (billBean.getCnContact() != null){ // from cyber bill it returns
> " " rather then null
>    if (billBean.getCnContact().trim().length()>1){
>     cnAddress.append("\nContact: " + billBean.getCnContact() );
>    if (billBean.getCnPhone() != null || !billBean.getCnPhone().equals("
"))
>     cnAddress.append(" " + billBean.getCnPhone() + "\n" );
>     }
>    }
>
>    StringBuffer csAddress = new StringBuffer();
>       csAddress.append(billBean.getCsAddr1() + "\n" );
>       if (billBean.getCsAddr2()!= null)
>       csAddress.append(billBean.getCsAddr2() + "\n");
>       if ( billBean.getCsCity()!= null)
>       csAddress.append(billBean.getCsCity() );
>
>       if (billBean.getCsState() != null)
>            csAddress.append( "," + billBean.getCsState());
>
>       if (billBean.getCsZip() != null)
>     csAddress.append( " - " + billBean.getCsZip() + "\n" );
>       if (billBean.getCsCountry() != null)
>     csAddress.append( billBean.getCsCountry() + "\n" );
>       if (billBean.getCsContact() != null){
>         if (billBean.getCsContact().trim().length()>1)
>         csAddress.append("Contact: " + billBean.getCsContact() + "\n");
>       }
>
>       if (billBean.getCsPhone() != null){
>       if (billBean.getCsPhone().trim().length()>1)
>     csAddress.append("Phone: " + billBean.getCsPhone() + "\n" );
>       }
>
>    StringBuffer remarks = new StringBuffer();
>          if (billBean.getInstruction1()!= null)
>          remarks.append(billBean.getInstruction1() + "\n");
>          if (billBean.getInstruction2()!= null)
>          remarks.append(billBean.getInstruction2() + "\n");
>          if (billBean.getInstruction3()!= null)
>          remarks.append(billBean.getInstruction3() + "\n");
>          if (billBean.getInstruction4()!= null)
>          remarks.append(billBean.getInstruction4() + "\n");
>
>   float a =0.5f;   //a,d scale
>   float b =0;   //b,c rotate
>   float c =0;
>   float d =0.5f;
>   float e =0;  //e,f move x,y
>   float f =0;
>
>   ByteArrayOutputStream baos = new ByteArrayOutputStream();
>   ByteArrayOutputStream baosBuff = new ByteArrayOutputStream();
>   ByteArrayOutputStream baosT = new ByteArrayOutputStream();
>
>   int pcs=billBean.getPieces();
>   System.out.println("--Labels Used-- Pieces " + pcs);
>
>   /* SSS 10/21/2003 Don't set many fields again and again - use fos or
> byteArray(use memory instead)
>   and don't read file again and again in loop
>   */
>   /*
>   String tFile = "c:\\dbaco\\DBAT" + System.currentTimeMillis()+".pdf";
>   File ft = new File(tFile);
>   FileOutputStream fos = new FileOutputStream(tFile);
>   */
>
>   Document document = null;
>
> try {
>             PdfReader reader = new PdfReader(templateFile);
>             psize = reader.getPageSize(1);
>             //PdfStamper stampT = new PdfStamper(reader,fos);
>             PdfStamper stampT = new PdfStamper(reader,baosT);
>     AcroFields formT = stampT.getAcroFields();
>     formT.setField("cnAddress",cnAddress.toString());
>     formT.setField("ctName",billBean.getCsName());
>             formT.setField("ctAddress",csAddress.toString());
>             //formT.setField("ctContact",csContact.toString());
>     formT.setField("remark", remarks.toString());
>     formT.setField("airbill",billBean.getBillNumber());
>             formT.setField("tPhone",terminalPhone);
>             formT.setField("custRefNum",custRefNum);
>             stampT.close();
>
>             document = new Document(psize, 50, 50, 50, 50);
>             document.addAuthor("DBA");
>             document.addTitle("Cyber Labels");
>             document.addKeywords("Java Architecture by I-Solutions");
>             //PdfWriter writer = PdfWriter.getInstance(document, new
> FileOutputStream("c:\\temp\\import_page.pdf"));
>             PdfWriter writer = PdfWriter.getInstance(document,baos);
>             document.open();
>             int pageTracker=0;
>
>             byte[] baT = baosT.toByteArray();
>
>     for(int i= startValue;i<=pcs;i++){
>
>         if (pageTracker == 4){
>         document.newPage();
>         pageTracker=0;
>         }
>
>             //reader = new PdfReader(templateFile);
>             //reader = new PdfReader(tFile);
>             reader = new PdfReader(baT);
>             psize = reader.getPageSize(1);
>             baosBuff.reset();
>             //PdfStamper stamp1 = new PdfStamper(reader, new
> FileOutputStream("c:\\temp\\import_page2.pdf"));
>             PdfStamper stamp1 = new PdfStamper(reader,baosBuff );
>             AcroFields form1 = stamp1.getAcroFields();
>             //form1.setField("cnAddress",cnAddress.toString());
>             //form1.setField("ctName",billBean.getCsName());
>             //form1.setField("ctAddress",csAddress.toString());
>             //form1.setField("remark", remarks.toString());
>             //form1.setField("airbill",billBean.getBillNumber());
>             form1.setField("PieceX",Integer.toString(i));
>             form1.setField("PieceY",Integer.toString(pcs));
>             //form1.setField("tPhone",terminalPhone);
>             //formT.setField("custRefNum",custRefNum);
>             stamp1.setFormFlattening(true);
>             stamp1.close();
>
>             //PdfReader reader2 = new
> PdfReader("c:\\temp\\import_page2.pdf");
>             PdfReader reader2 = new PdfReader(baosBuff.toByteArray());
>             PdfImportedPage page1 = writer.getImportedPage(reader2, 1);
>
>             switch (pageTracker){
>                     case 0: e=0;f=height / 2; break;
>                     case 2: e=0;f=0;break;
>                     case 3: e=width /2; f=0; break;
>                     case 1: e=width /2; f=height /2; break;
>             }
>             PdfContentByte cb = writer.getDirectContent();
>             cb.addTemplate(page1, a,b,c,d,e,f );
>
>             pageTracker++;
>             //SSS 11/14/2003 allow upto 50 labels at a time
>             if ((billBean.getBillNumber()=="") ||
> (billBean.getBillNumber()==null)){ // from cyber, no break
>
>             if ((i-startValue)>=49){
>             System.out.println("Lables printed from Shipping link");
>                break;
>                }
>             }
>          }//for
>             document.close();
>             //baos.writeTo(new
> FileOutputStream("c:\\temp\\import_page.pdf"));
>             baos.writeTo(response.getOutputStream());
>             response.getOutputStream().flush();
>             System.out.println("Finished.");
>         }
>
> catch (Exception de)
> {
> log("**Error Creating pdf doc.."+ de.getMessage());
> out.println("Error generating labels. "+ de.getMessage());
> }
> finally
> {
> if (baos != null)
> {
> baos.reset();
> }
> if (document != null)
> {
> document.close();
> }
> if (baosT != null)
> {
> baosT.reset();
> }
>
> /*
> if (fos != null){
>         fos.close();
> }
>         ft.delete();
>         */
>
> }//finally
>
>   %>
>
> On 4/26/05, Paulo Soares <[EMAIL PROTECTED]> wrote:
> > Does it work with firefox? Post the servlet code related to sending the
> pdf.
> >
> > ----- Original Message -----
> > From: "Sammy" <[EMAIL PROTECTED]>
> > To: <[email protected]>
> > Sent: Tuesday, April 26, 2005 7:26 PM
> > Subject: [iText-questions] Why would iText work with 4.0 websphere, but
> not
> > with 6.0
> >
> > hi,
> >
> > I developed JSP using iText and it worked fine for a year, unitl I
> > moved to webspere 6.0, suddelnly, now I get the following error - "The
> > file is damaged and could not be repaired".
> >
> > Tried it on diffrent versions of Adobe, same result. The code is
> > the same, but I can't think of anything else changed besides the
> > container (same iText lib).
> >
> > Anything you can do to help will be great!
> >
> > Sam
> > p.s. Sorry for reposting, but I need help. Can send code if needed.
> > Since there is no support, I am willing to pay a reasonable amount -
> > if this is not legal, my apology.
> >
> > -------------------------------------------------------
> > SF.Net email is sponsored by: Tell us your software development plans!
> > Take this survey and enter to win a one-year sub to SourceForge.net
> > Plus IDC's 2005 look-ahead and a copy of this survey
> > Click here to start!  http://www.idcswdc.com/cgi-bin/survey?id5hix
> > _______________________________________________
> > iText-questions mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/itext-questions
> >
> >
>
>



-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start!  http://www.idcswdc.com/cgi-bin/survey?id=105hix
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to