Jys<br /><a href="http://jy-s.com" target="_blank" rel="nofollow">http://jy-s.com</a><br /> <br />Trying my very best to learn java, please forgive me if i'm asking some really stupid questions.
Jys<br /><a href="http://jy-s.com" target="_blank" rel="nofollow">http://jy-s.com</a><br /> <br />Trying my very best to learn java, please forgive me if i'm asking some really stupid questions.
Jys<br /><a href="http://jy-s.com" target="_blank" rel="nofollow">http://jy-s.com</a><br /> <br />Trying my very best to learn java, please forgive me if i'm asking some really stupid questions.
Jys<br /><a href="http://jy-s.com" target="_blank" rel="nofollow">http://jy-s.com</a><br /> <br />Trying my very best to learn java, please forgive me if i'm asking some really stupid questions.
Jys<br /><a href="http://jy-s.com" target="_blank" rel="nofollow">http://jy-s.com</a><br /> <br />Trying my very best to learn java, please forgive me if i'm asking some really stupid questions.
sridhar panini wrote:use this.
it will work
am doing this works great with itext.
public void executePDF() {
try {
FacesContext faces = FacesContext.getCurrentInstance();
HttpServletResponse response =
(HttpServletResponse) faces.getExternalContext().getResponse();
// setting some response headers
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
//response.setHeader("Content-disposition","inline; filename=kiran.pdf");
response.setHeader("Pragma", "public");
response.setContentType( "application/pdf" );
//response.setHeader("Content-Disposition", "attachment;filename=\"ContactList.pdf\"");
response.addHeader("Content-disposition", "attachment;filename=\"DataListBean.pdf\"");
//step 1: creation of a document-object
Document document = new Document(PageSize.A3.rotate(), 10, 10, 10, 10);
//step 2: we create a writer that listens to the document
// and directs a PDF-stream to a temporary buffer
ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
PdfWriter writer = PdfWriter.getInstance( document, baos);
//step 3: we open the document
document.open();
Table datatable = getTable();
int rowCount = data.getRowCount();
// step 4: we add a paragraph to the document
for (int i=0;i<rowCount;i++) {
datatable.setDefaultHorizontalAlignment(Element.ALIGN_LEFT);
List list = (List)data.getRowData();
Iterator iter = list.iterator();
while(iter.hasNext()) {
Object obj = (Object) iter.next();
datatable.addCell(obj.toString());
if (i<=2) {
System.out.println(obj.toString());
}
}
if (!writer.fitsPage(datatable)) {
datatable.deleteLastRow();
i--;
document.add(datatable);
document.newPage();
datatable = getTable();
}
}
document.add(datatable);
//step 5: we close the document
document.close();
//step 6: we output the writer as bytes to the response output
// the contentlength is needed for MSIE!!!
response.setContentLength(baos.size());
// write ByteArrayOutputStream to the ServletOutputStream
ServletOutputStream out = response.getOutputStream();
baos.writeTo(out);
baos.flush();
faces.responseComplete();
//DataOutput output = new DataOutputStream( response.getOutputStream() );
//byte[] bytes = buffer.toByteArray();
//response.setContentLength(bytes.length);
//for( int i = 0; i < bytes.length; i++ ) { output.writeByte( bytes[i] ); }
} catch(Exception e) {
e.printStackTrace();
}
}
private Table getTable()
throws BadElementException, DocumentException {
int colCount = columnHeaders.getRowCount();
Table datatable = new Table(colCount);
datatable.setPadding(4);
datatable.setSpacing(0);
datatable.setBorder(Rectangle.NO_BORDER);
int headerwidths[] = {14,3,3,9,8,5,14,9,5,3,1,4,4,10,3,3,2,10,10,2};
datatable.setWidths(headerwidths);
datatable.setWidth(140);
// the first cell spans 20 columns
Cell cell = new Cell(new Phrase("NEMO Order Tool Report",
FontFactory.getFont(FontFactory.HELVETICA, 14, Font.BOLD)));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setLeading(10);
cell.setColspan(20);
cell.setBorder(Rectangle.NO_BORDER);
cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
datatable.addCell(cell);
// These cells span n rows
datatable.setDefaultCellBorderWidth(1);
datatable.setDefaultHorizontalAlignment(1);
datatable.setDefaultRowspan(1);
List colList = (List)columnHeaders.getWrappedData();
for (int i=0; i < colList.size();i++) {
ColumnHeader header = (ColumnHeader) colList.get(i);
datatable.addCell(header.getLabel());
}
return datatable;
}
I wanted to know from where your data is coming?
Don't get me started about those stupid light bulbs. |