generate PDF in Java

public String generateLeaversReport(ArrayList<UserReportBean> leaversAList,String leaversFromDate,String leaversToDate,String filteredLocation) throws Exception
{
    Document document = null;
    File f= null;
    try
    {
        document = new Document(PageSize.A4,10,10,10,10);
        f = new File("Leavers.pdf");
        FileOutputStream fos = new FileOutputStream(f);
        PdfWriter.getInstance(document, fos );
        document.open();
        Table table=new Table(29);
        table.setBorder(0);
        table.setWidth(100f);
        table.setWidths(new float[]{0.5f,1.2f,1.0f,0.6f,1.25f,1.25f,1.5f,1.25f,1.20f,0.75f,1f,1.20f,0.75f,0.75f,0.75f,1.5f,0.8f,1.10f,0.8f,0.8f,0.8f,0.8f,0.9f,0.6f,0.6f,0.6f,0.6f,0.6f,0.6f});
        table.setCellsFitPage(true);
        table.setPadding(2);
        table.setSpacing(0);

        Cell hdrCell = new Cell(new Chunk(StringUtils.trimToEmpty("Leavers Report For the Period :  "+leaversFromDate+" To "+leaversToDate+" For "+filteredLocation),
                FontFactory.getFont(FontFactory.HELVETICA_BOLD, 8, Font.BOLD, new Color(0, 0, 0))));
     
        hdrCell.setColspan(29);
        hdrCell.setHeader(true);
        hdrCell.setBorder(Rectangle.NO_BORDER);
        hdrCell.setHorizontalAlignment(Cell.ALIGN_CENTER);
        table.addCell(hdrCell);
        
        table.addCell(getHeaderCell_New("S.No.",1));
        table.addCell(getHeaderCell_New("AssociateID",1));
        table.addCell(getHeaderCell_New("First Name",1));
        table.addCell(getHeaderCell_New("Middle Name",1));
        table.addCell(getHeaderCell_New("Last Name",1));
        
        for(int i=0;i<leaversAList.size();i++)
        {
            UserReportBean bean=leaversAList.get(i);
            table.addCell(getCell_New(String.valueOf(i+1),1));
            table.addCell(getCell_New(bean.getAssociateID(),1));
            table.addCell(getCell_New(bean.getFirstName(),1));
            table.addCell(getCell_New(bean.getMiddleName(),1));
            table.addCell(getCell_New(bean.getLastName(),1));
        }
        document.add(table);
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    finally
    {
        if(document!=null)
        {
            document.close();
        }
    }
    return f!=null?f.getAbsolutePath():null;
}

Leave a comment