Thanks very muich Bruno for your clarification. In fact, it is a long
time since I reviwed the Tutorials - hence I reviwed them again.
I reviwed the code once again and found a glitch. Modified the line
PdfWriter writer = PdfWriter.getInstance(doc, new
FileOutputStream("HTRSCertificates.pdf"));
to
PdfWriter writer = PdfWriter.getInstance(doc.baos);
the code works now.
Thanks a million to everyone who helped me in this.
regards,
Murali Thirumalai
Consulting Engagement Manager-Information Technology
Office of the Attorney General
>>> Bruno Lowagie <[EMAIL PROTECTED]> 3/16/2006 11:21:43 AM >>>
I just arrived from work and I have difficulties following the track
of the question/answers. The way you put your answer is also not
very inviting to answer.
This being said, I see that you create a Document object doc and
a PdfWriter that writes to a FileOutputStream. Then you CLOSE
the document.
That finalizes the PDF Creation. You're done. Case closed.
Surprisingly you then reuse the Document instance doc to do something
else with it. Why do you expect this to work? It proves you didn't
read
(or didn't understand) the tutorial, more specifically the part about
the
5 steps in PDF creation with iText.
br,
Bruno
Murali Thirumalai wrote:
>But I am using the ServletOutputStream to display the results in the
>following code snippet...
>
>The problem I have is that the ServletoutputStream does not display
the
>content identified/added by pdfContentByte. Any help here ??????
>
>
>ServletOutputStream ServletOutputStream out =
>response.getOutputStream();
> baos.writeTo(out);
> out.flush();
>
>thanks
>
>
>
>regards,
>Murali Thirumalai
>Consulting Engagement Manager-Information Technology
>Office of the Attorney General
>
>
>
>
>>>>Raja Kantamneni <[EMAIL PROTECTED]> 3/16/2006 10:31:22 AM >>>
>>>>
>>>>
>Below is the code I have used to diaplay/open pdf file
>
>String sFileName =
>strCampCodeVal+"_"+nReqIdVal+".pdf";
> String sFile =
>"C:\\SBLI\\BCP\\barcode_files\\"+sFileName;
> File fFile = new File(sFile);
> if ( fFile == null )
> {
> System.out.println("System can not download the
>file at this time. Please try again later.");
> return;
> }
> if ( !fFile.exists() || !fFile.canRead() )
> {
> System.out.println("You have specified an
>invalid file to download. Please check and try
>again.");
> return;
> }
> res.setContentType("application/force-download");
> res.setHeader("Content-disposition",
>"attachment;filename=" + sFileName);
> res.setHeader("Cache-control", "must-revalidate");
>
> ServletOutputStream sosCur = res.getOutputStream();;
> BufferedInputStream bisFile = null;
> try
> {
> byte [] bBuffer = new byte[4096];
> bisFile = new BufferedInputStream(new
>FileInputStream(fFile));
> int nBytes = -1;
> while( (nBytes = bisFile.read(bBuffer, 0,
4096))
>!=
>-1 )
> {
> sosCur.write(bBuffer, 0, nBytes);
> }
>
> }
> catch(Exception ex)
> {
> System.out.println("Failed to download the file
>\""
>+ sFile + "\"" + ex.getMessage());
> }
> finally
> {
> try
> {
> if ( bisFile != null
>)
> bisFile.close();
> }
> catch(Exception ex)
> {
> }
> if ( sosCur != null )
> {
> sosCur.flush();
>
> }
> }
>
>Hope this will be helpful,
>-Raja
>
>--- Murali Thirumalai
><[EMAIL PROTECTED]> wrote:
>
>
>
>>Hi,
>>
>>I am using a Servlet to create a pdf file and
>>display the output
>>through the servlet. The pdf file gets created in
>>the Server directory
>>with all thePdfContentByte content. Any content
>>added through
>>pdfContentByte is not shown in the servlet output,(
>>while
>>non-pdfcontentbyte content is shown in the servlet
>>output). The file
>>has all these content (but does not display through
>>Servletoutputstream)
>> Can you please help?
>>
>>The code is listed below. Can someone tell me what
>>I am doing wrong
>>here?
>>
>>Thanks in advance for your help.
>>
>>regards
>>Murali Thirumalai
>>
>>
>>Document doc = new
>>Document(PageSize.LETTER.rotate());
>>PdfWriter writer = PdfWriter.getInstance(doc, new
>>FileOutputStream("HTRSCertificates.pdf"));
>>ByteArrayOutputStream baos = new
>>ByteArrayOutputStream();
>>PdfWriter.getInstance(doc, baos);
>>doc.open();
>>PdfContentByte cb = writer.getDirectContentUnder();
>>doc.add(Chunk.NEWLINE);
>>doc.add(new Chunk("Test content"));
>>helv = BaseFont.createFont("Helvetica",
>>BaseFont.WINANSI, false);
>>// step 4: adding content
>>for (int i=0; i<list1.size();i++)
>>{
>> cb.beginText();
>> p1 = (Participant) list1.get(i);
>> cb.setFontAndSize(helv,24);
>> Font font = new Font(helv, 12, Font.ITALIC);
>> doc.add(new Chunk(p1.getFirstName()+' ' +
>>p1.getLastName()));
>>
>>
>>
>>
>cb.showTextAlignedElement.ALIGN_CENTER,p1.getFirstName()+'
>
>
>>' +
>>p1.getLastName(), doc.getPageSize().width() / 2,
>>350, 0);
>>cb.showTextAligned(Element.ALIGN_CENTER, clsDt,
>>doc.getPageSize().width() / 2, 250, 0);
>> cb.endText();
>> if (i<list1.size()-1) doc.newPage();
>> }
>> // step 5: closing the document
>>doc.close();
>>PdfWriter.getInstance(doc, baos);
>>response.setHeader("Expires", "0");
>>response.setHeader("Cache-Control",
>>"must-revalidate, post-check=0,
>>pre-check=0");
>>response.setHeader("Pragma", "public");
>>// setting the content type
>>response.setContentType("application/pdf");
>>// the contentlength is needed for MSIE!!!
>>response.setContentLength(baos.size());
>>// write ByteArrayOutputStream to the
>>ServletOutputStream
>>ServletOutputStream out =
>>response.getOutputStream();
>>baos.writeTo(out);
>>out.flush();
>>
>>
>>
>>regards,
>>Murali Thirumalai
>>Consulting Engagement Manager-Information Technology
>>Office of the Attorney General
>>
>>
>> CONFIDENTIALITY NOTICE
>>
>>The information contained in this communication from
>>the
>>Office of the New Jersey Attorney General is
>>privileged
>>and confidential and is intended for the sole use of
>>the
>>persons or entities who are the addressees. If you
>>are not
>>an intended recipient of this e-mail, the
>>dissemination,
>>distribution, copying or use of the information it
>>contains
>>is strictly prohibited. If you have received this
>>communication
>>in error, please immediately contact the Office of
>>the Attorney
>>General at (609) 292-4925 to arrange for the return
>>of this information.
>>
>>
>>
>>
>>
>>
>-------------------------------------------------------
>
>
>>This SF.Net email is sponsored by xPML, a
>>groundbreaking scripting language
>>that extends applications into web and mobile media.
>>Attend the live webcast
>>and join the prime developer group breaking into
>>this new coding territory!
>>
>>
>>
>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
>
>
>
>>_______________________________________________
>>iText-questions mailing list
>>[email protected]
>>
>>
>>
>https://lists.sourceforge.net/lists/listinfo/itext-questions
>
>
>
>
>Thanks,
>Raja Kantamneni
>Home Phone # (732)452-0073
>Cell Phone # (732)429-3337
>Email: [EMAIL PROTECTED]
>Web Page: http://www.kinneramemorialfoundation.org
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam? Yahoo! Mail has the best spam protection around
>http://mail.yahoo.com
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by xPML, a groundbreaking scripting
>language
>that extends applications into web and mobile media. Attend the live
>webcast
>and join the prime developer group breaking into this new coding
>territory!
>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
>
>_______________________________________________
>iText-questions mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/itext-questions
>
> CONFIDENTIALITY NOTICE
>
>The information contained in this communication from the
>Office of the New Jersey Attorney General is privileged
>and confidential and is intended for the sole use of the
>persons or entities who are the addressees. If you are not
>an intended recipient of this e-mail, the dissemination,
>distribution, copying or use of the information it contains
>is strictly prohibited. If you have received this communication
>in error, please immediately contact the Office of the Attorney
>General at (609) 292-4925 to arrange for the return of this
information.
>
>
>
>
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting
language
that extends applications into web and mobile media. Attend the live
webcast
and join the prime developer group breaking into this new coding
territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
CONFIDENTIALITY NOTICE
The information contained in this communication from the
Office of the New Jersey Attorney General is privileged
and confidential and is intended for the sole use of the
persons or entities who are the addressees. If you are not
an intended recipient of this e-mail, the dissemination,
distribution, copying or use of the information it contains
is strictly prohibited. If you have received this communication
in error, please immediately contact the Office of the Attorney
General at (609) 292-4925 to arrange for the return of this information.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions