java - iTextPDF - Second PDF file generated displays text from First generated PDF file -


i using itextpdf generate pdfs getting data text inputs.

when run application , create first pdf, generated expected.

then change values , generate another, problem arises. last entry displayed on first pdf printed on top of first entry of second generated pdf.

not sure why happening? being saved buffer or something, not sure.

here code generating pdf:

  public class exportticket implements action{       pdfpcell titlecell = new pdfpcell();      pdfpcell contentcell = new pdfpcell();       public string performaction(httpservletrequest request) throws pewexception {          // creating document (itextpdf)         document document = new document();          pdfwriter.getinstance(document, new fileoutputstream("ticket_" + ticketno + ".pdf"));          // fonts         font headingfont = new font(font.fontfamily.undefined, 10, font.bold, basecolor.black);          // open document write         document.open();          // table creation         pdfptable table = new pdfptable(2);         table.settotalwidth(200);         table.setwidths(new int[]{ 5, 10 });         table.sethorizontalalignment(element.align_left);          // add ticket number         contentcell.addelement(new chunk("ticket number: " + ticketno, headingfont));         contentcell.setcolspan(2);         table.addcell(contentcell);          // add table document & close document         document.add(table)         document.close();       }   } 

please see attached images output, first 1 displays first file generation , second 1 displays 2nd file generation,

pdf file generated first first generated pdf file ticket number: 20170034 pdf file generated second second generated pdf file ticket number: 20170035

you have strange priorities. think should save processing time creating pdfpcell once (in spite of fact need new instance), waste processing time creating font on , on again (while reuse it).

this improved version of class (i assumed ticketno request):

public class exportticket implements action{      // fonts     font headingfont = new font(font.fontfamily.undefined, 10, font.bold, basecolor.black);      public string performaction(httpservletrequest request) throws pewexception {         string ticketno = request.getparameter("ticketno");         document document = new document();         pdfwriter.getinstance(document, new fileoutputstream("ticket_" + ticketno + ".pdf"));         // open document write         document.open();          // table creation         pdfptable table = new pdfptable(2);         table.settotalwidth(200);         table.setwidths(new int[]{ 5, 10 });         table.sethorizontalalignment(element.align_left);          // add ticket number         pdfpcell contentcell = new pdfpcell()         contentcell.addelement(new chunk("ticket number: " + ticketno, headingfont));         contentcell.setcolspan(2);         table.addcell(contentcell);          // add table document & close document         document.add(table)         document.close();     } } 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -