KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > reports > PDFImage


1 package reports;
2
3 import com.lowagie.text.*;
4 import com.lowagie.text.pdf.*;
5 import java.io.ByteArrayOutputStream JavaDoc;
6 import dinamica.*;
7
8 /**
9  * Class description.
10  * <br><br>
11  * (c) 2004 Martin Cordova<br>
12  * This code is released under the LGPL license<br>
13  * Dinamica Framework - http://www.martincordova.com
14  * @author Martin Cordova (dinamica@martincordova.com)
15  * */

16 public class PDFImage extends AbstractPDFOutput
17 {
18
19     /* (non-Javadoc)
20      * @see dinamica.AbstractPDFOutput#createPDF(dinamica.GenericTransaction, java.io.ByteArrayOutputStream)
21      */

22     protected void createPDF(
23         GenericTransaction data,
24         ByteArrayOutputStream JavaDoc buf)
25         throws Throwable JavaDoc
26     {
27
28         //init pdf - pagesize, margins, etc.
29
Document doc = new Document();
30         PdfWriter docWriter = PdfWriter.getInstance(doc, buf);
31         doc.setPageSize(PageSize.LETTER);
32         
33         //header
34
HeaderFooter header = new HeaderFooter(new Phrase(getHeader()), false);
35         header.setBorder(Rectangle.BOTTOM);
36         header.setAlignment(Rectangle.ALIGN_CENTER);
37         doc.setHeader(header);
38             
39         //footer
40
HeaderFooter footer = new HeaderFooter(new Phrase(getFooter()), true);
41         footer.setBorder(Rectangle.TOP);
42         footer.setAlignment(Rectangle.ALIGN_RIGHT);
43         doc.setFooter(footer);
44
45         doc.open();
46             
47         //title
48
Paragraph t = new Paragraph(getReportTitle(),new Font(Font.HELVETICA, 18f));
49         t.setAlignment(Rectangle.ALIGN_CENTER);
50         doc.add(t);
51
52         //blank line
53
doc.add(new Paragraph(" "));
54
55         //assemble url to retrieve image using request parameters
56
Recordset rs = data.getRecordset("_request");
57         rs.first();
58         String JavaDoc url = "http://localhost" + getRequest().getContextPath() + "/action/blob/getblob?id=" + rs.getString("id");
59
60         //get blob (image)
61
Image jpeg = Image.getInstance(getImage(url, false));
62         jpeg.setAlignment(Element.ALIGN_CENTER);
63         doc.add(jpeg);
64         
65         doc.close();
66         docWriter.close();
67
68
69     }
70
71 }
72
Popular Tags