Example usage for com.lowagie.text Font Font

List of usage examples for com.lowagie.text Font Font

Introduction

In this page you can find the example usage for com.lowagie.text Font Font.

Prototype


public Font(int family, float size, int style) 

Source Link

Document

Constructs a Font.

Usage

From source file:org.posterita.businesslogic.performanceanalysis.POSReportManager.java

License:Open Source License

public static String endOfTheDayPDF(Properties ctx, CloseTillBean bean) throws OperationException {
    String reportName = RandomStringGenerator.randomstring() + ".pdf";
    String reportPath = ReportManager.getReportPath(reportName);

    double beginningBalance = (bean.getBeginningBalance() == null ? 0
            : bean.getBeginningBalance().doubleValue());
    double statementDifference = (bean.getNetCashTrx() == null ? 0 : bean.getNetCashTrx().doubleValue());
    double transferAmount = (bean.getBalanceEntered() == null ? 0 : bean.getBalanceEntered().doubleValue());
    double differenceAmount = (bean.getDifference() == null ? 0 : bean.getDifference().doubleValue());
    double endingBalance = (bean.getEndingBalance() == null ? 0 : bean.getEndingBalance().doubleValue());
    double tillCashTotal = (bean.getCashTotal() == null ? 0 : bean.getCashTotal().doubleValue());
    double cashBeanCardTotal = (bean.getCardTotal() == null ? 0 : bean.getCardTotal().doubleValue());
    double tillCardTotal = (bean.getCardTotal() == null ? 0 : bean.getCardTotal().doubleValue());
    double cardDifference = (bean.getCardDifference() == null ? 0 : bean.getCardDifference().doubleValue());
    double cashBeanChequeTotal = (bean.getChequeTotal() == null ? 0 : bean.getChequeTotal().doubleValue());
    double tillChequeTotal = (bean.getChequeTotal() == null ? 0 : bean.getChequeTotal().doubleValue());
    double chequeDifference = (bean.getChequeDifference() == null ? 0
            : bean.getChequeDifference().doubleValue());
    double grandTotal = (bean.getGrandTotal() == null ? 0 : bean.getGrandTotal().doubleValue());

    Font titleFont = new Font(Font.TIMES_ROMAN, 8, Font.BOLD);
    Font subtitleFont = new Font(Font.TIMES_ROMAN, 8, Font.BOLD);

    // Font headerFont = new Font(Font.TIMES_ROMAN, 8,Font.BOLD);
    Font simpleFont = new Font(Font.TIMES_ROMAN, 8);

    final float NO_BORDER = 0.0f;
    // final float THIN_BORDER = 1.0f;

    String currency = "Rs ";
    NumberFormat formatter = new DecimalFormat("###,###,##0.00");
    PdfPCell cell = null;//ww w.  j  a v a2  s.  co  m

    // step 1: creation of a document-object
    Document document = new Document(PageSize.A7, 3, 3, 2, 4);// l,r,t,b
    // document.getPageSize().set;

    System.out.println(document.leftMargin());

    try {
        currency = POSTerminalManager.getDefaultSalesCurrency(ctx).getCurSymbol();
        PdfWriter.getInstance(document, new FileOutputStream(reportPath));

        document.open();

        PdfPTable layoutTbl = new PdfPTable(1);
        layoutTbl.getDefaultCell().setBorderWidth(NO_BORDER);
        layoutTbl.getDefaultCell().setPadding(2.0f);

        SimpleDateFormat sdf = new SimpleDateFormat(TimestampConvertor.DEFAULT_DATE_PATTERN1);
        Date today = new Date(System.currentTimeMillis());

        // 1.add title
        Paragraph title = new Paragraph(new Chunk("End of the Day Report", titleFont));
        title.setAlignment(Paragraph.ALIGN_CENTER);
        cell = new PdfPCell(title);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorderWidth(NO_BORDER);
        layoutTbl.addCell(cell);

        Paragraph subTitle = new Paragraph(new Chunk(sdf.format(today), subtitleFont));
        subTitle.setAlignment(Paragraph.ALIGN_CENTER);
        cell = new PdfPCell(subTitle);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorderWidth(NO_BORDER);
        layoutTbl.addCell(cell);

        // spacing
        cell = new PdfPCell(new Paragraph(""));
        cell.setFixedHeight(10);
        cell.setBorderWidth(NO_BORDER);
        layoutTbl.addCell(cell);

        // display report data
        PdfPTable table = new PdfPTable(2);
        Phrase phrase = null;

        // row 1
        phrase = new Phrase("Till No:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(bean.getTillName(), simpleFont);
        table.addCell(phrase);

        // row 2
        phrase = new Phrase("Begining Balance:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(beginningBalance), simpleFont);
        table.addCell(phrase);

        // row 3
        phrase = new Phrase("Net Cash Trx:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(statementDifference), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Till Balance Entered:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(transferAmount), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Difference:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(differenceAmount), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Ending Balance:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(endingBalance), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Cash Total:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(tillCashTotal), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Card Amt Entered:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(cashBeanCardTotal), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Card Total:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(tillCardTotal), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Card Difference:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(cardDifference), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Cheque Amt Entered:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(cashBeanChequeTotal), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Cheque Total:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(tillChequeTotal), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Cheque Difference:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(chequeDifference), simpleFont);
        table.addCell(phrase);

        phrase = new Phrase("Grand Total:", simpleFont);
        table.addCell(phrase);

        phrase = new Phrase(currency + formatter.format(grandTotal), simpleFont);
        table.addCell(phrase);

        layoutTbl.addCell(table);

        document.add(layoutTbl);

    } catch (Exception e) {
        throw new OperationException(e);
    }

    document.close();

    return reportName;

}

From source file:org.posterita.core.TabularReport.java

License:Open Source License

public String createPDFReport() throws DocumentException, FileNotFoundException {
    String filename = RandomStringGenerator.randomstring() + ".pdf";
    String filepath = ReportManager.getReportPath(filename);

    FileOutputStream fos = new FileOutputStream(filepath);

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, fos);

    document.open();/*w w w  .  j  a  v  a 2  s.co  m*/

    Font style1 = new Font(Font.HELVETICA, 16.0f, Font.BOLD);
    Font style2 = new Font(Font.HELVETICA, 12.0f);
    //write content
    Paragraph p = new Paragraph(new Chunk(title, style1));
    p.setAlignment(Element.ALIGN_CENTER);
    document.add(p);

    p = new Paragraph(new Chunk(subtitle, style2));
    p.setAlignment(Element.ALIGN_CENTER);
    document.add(p);

    p = new Paragraph("\n\n");
    document.add(p);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);
    for (Object[] row : reportData) {
        for (Object data : row) {
            PdfPCell cell = new PdfPCell(new Phrase(data.toString()));
            table.addCell(cell);
        }
    }

    document.add(table);
    document.close();

    return filename;
}

From source file:org.posterita.core.TabularReport.java

License:Open Source License

public byte[] getPDFData() throws DocumentException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();// ww  w.ja v a 2 s. c  om

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 9.0f, Font.BOLD);
    float[] widths = { 2f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f };

    // Table header
    PdfPTable mytable = new PdfPTable(7);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(new Paragraph(getTitle() + "\n" + getSubtitle(), style1));
    header.setColspan(7);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    // Table sub header        
    PdfPCell subheader = new PdfPCell();
    subheader = new PdfPCell(new Paragraph(""));
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("QUANTITY", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("VALUE (Excl. VAT)", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("DISCREPANCY", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("PRODUCT NAME", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("BOOK", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("COUNT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("BOOK", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("COUNT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("QTY", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("VALUE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}

From source file:org.posterita.core.TabularReport.java

License:Open Source License

/**
 * Get Selling Items Data//w w w. j a  v  a  2  s.  c om
 * @return
 * @throws DocumentException
 * @throws OperationException 
 */
public byte[] getSellingItemsData() throws DocumentException, OperationException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 9.0f, Font.BOLD);
    Font style5 = new Font(Font.TIMES_ROMAN, 6.0f);
    float[] widths = { 2f, 0.5f, 0.5f, 1.0f };

    // Table header
    PdfPTable mytable = new PdfPTable(4);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(new Paragraph(
            new Chunk(getTitle(), style1) + "\n" + new Chunk(getSubtitle(), style2) + "\n", style1));
    header.setColspan(4);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    //Date Header
    PdfPCell dateHeader = new PdfPCell(new Paragraph(
            "From : " + new Chunk(TimestampConvertor.convertTimeStampToFyracleDate(fromDate), style1), style1));
    dateHeader.setColspan(1);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    dateHeader = new PdfPCell(new Paragraph(
            "To : " + new Chunk(TimestampConvertor.convertTimeStampToFyracleDate(toDate), style1), style1));
    dateHeader.setColspan(3);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    // Info Header
    PdfPCell infoHeader = new PdfPCell(
            new Paragraph("ALL VALUES ARE EXCLUSIVE OF VAT - SALES FIGURES ARE TAKEN AFTER DISCOUNT", style5));
    infoHeader.setColspan(4);
    infoHeader.setHorizontalAlignment(Element.ALIGN_CENTER);
    infoHeader.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(infoHeader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("PRODUCT NAME", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("QTY", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("VALUE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("SUPPLIER", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}

From source file:org.posterita.core.TabularReport.java

License:Open Source License

/**
 * Get Stock Enquiry Report Data//  w w w  .j av a2  s.  c  om
 * @return
 * @throws DocumentException
 * @throws OperationException 
 */
public byte[] getStockEnquiryData() throws DocumentException, OperationException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 7.0f, Font.BOLD);
    Font style5 = new Font(Font.TIMES_ROMAN, 6.0f);
    float[] widths = { 1f, 2f, 0.5f, 0.5f, 0.5f, 0.5f };

    // Table header
    PdfPTable mytable = new PdfPTable(6);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(
            new Paragraph(new Chunk(title, style1) + "\n" + new Chunk(subtitle, style2) + "\n", style1));
    header.setColspan(6);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    //Date Header
    PdfPCell dateHeader = new PdfPCell(new Paragraph(
            "From : " + new Chunk(TimestampConvertor.convertTimeStampToFyracleDate(fromDate), style1), style1));
    dateHeader.setColspan(2);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    dateHeader = new PdfPCell(new Paragraph(
            "To : " + new Chunk(TimestampConvertor.convertTimeStampToFyracleDate(toDate), style1), style1));
    dateHeader.setColspan(4);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    // Info Header
    PdfPCell infoHeader = new PdfPCell(
            new Paragraph("ALL VALUES ARE EXCLUSIVE OF VAT & BASED ON PURCHASE PRICES", style5));
    infoHeader.setColspan(6);
    infoHeader.setHorizontalAlignment(Element.ALIGN_CENTER);
    infoHeader.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(infoHeader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("BARCODE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("PRODUCT NAME", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Opening Stock Qty", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Opening Stock Value", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Closing Stock Qty", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Closing Stock Value", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}

From source file:org.posterita.core.TabularReport.java

License:Open Source License

public byte[] getInventoryData() throws DocumentException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();//  w  w  w  .  j  ava2  s.  c om

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    float[] widths = { 1f, 1f, 0.55f, 0.55f, 0.55f, 1f, 1f, 1f, 1f };

    // Table header
    PdfPTable mytable = new PdfPTable(9);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(new Paragraph(getTitle() + "\n" + getSubtitle(), style1));
    header.setColspan(9);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    // Table sub header        
    PdfPCell subheader = new PdfPCell();
    subheader = new PdfPCell(new Paragraph(""));
    subheader.setColspan(2);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("QUANTITY", style2));
    subheader.setColspan(3);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("VALUE (Excl. VAT)", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("DIFFERENCE", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("BARCODE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("PRODUCT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("CSV", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("BOOK", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("COUNT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("BOOK", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("COUNT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("QUANTITY", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("VALUE (Excl. VAT)", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}

From source file:org.posterita.core.TabularReport2.java

License:Open Source License

public String createPDFReport() throws DocumentException, FileNotFoundException {
    String filename = RandomStringGenerator.randomstring() + ".pdf";
    String filepath = ReportManager.getReportPath(filename);

    FileOutputStream fos = new FileOutputStream(filepath);

    Document document = new Document(PageSize.A4.rotate());
    PdfWriter pdfWriter = PdfWriter.getInstance(document, fos);

    document.open();/*from   ww w .j  a  v a2  s  .  c om*/

    Font style1 = new Font(Font.HELVETICA, 16.0f, Font.BOLD);
    Font style2 = new Font(Font.HELVETICA, 14.0f);
    Font style3 = new Font(Font.HELVETICA, 10.0f);

    //write content
    Paragraph p = new Paragraph(new Chunk(title, style1));
    p.setAlignment(Element.ALIGN_CENTER);
    document.add(p);

    p = new Paragraph(new Chunk(subtitle, style2));
    p.setAlignment(Element.ALIGN_CENTER);
    document.add(p);

    p = new Paragraph("\n\n");
    document.add(p);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);
    table.setWidthPercentage(100.0f);

    //int[] widths = new int[]{1,2,1,4};
    //table.setWidths(widths);

    for (Object[] row : reportData) {
        for (Object data : row) {
            PdfPCell cell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(cell);
        }
    }

    document.add(table);
    document.close();

    return filename;
}

From source file:org.posterita.core.TabularReportMerge.java

License:Open Source License

public byte[] getPDFData() throws DocumentException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();/*from w  ww  .  j a va 2 s. com*/

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 9.0f, Font.BOLD);
    float[] widths = { 2f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f };

    // Table header
    PdfPTable mytable = new PdfPTable(7);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(
            new Paragraph(new Chunk(title, style1) + "\n" + new Chunk(subtitle, style2) + "\n", style1));
    header.setColspan(7);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    // Table sub header        
    PdfPCell subheader = new PdfPCell();
    subheader = new PdfPCell(new Paragraph(""));
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("QUANTITY", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("VALUE (Excl. VAT)", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    subheader = new PdfPCell(new Paragraph("DISCREPANCY", style2));
    subheader.setColspan(2);
    subheader.setHorizontalAlignment(Element.ALIGN_CENTER);
    mytable.addCell(subheader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("PRODUCT NAME", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("BOOK", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("COUNT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("BOOK", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("COUNT", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("QTY", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("VALUE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}

From source file:org.posterita.core.TabularReportMerge.java

License:Open Source License

/**
 * Get Selling Items Data//ww w  .  j a  v a2 s .  c o m
 * @return
 * @throws DocumentException
 * @throws OperationException 
 */
public byte[] getSellingItemsData() throws DocumentException, OperationException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 9.0f, Font.BOLD);
    Font style5 = new Font(Font.TIMES_ROMAN, 6.0f);
    float[] widths = { 2f, 0.5f, 0.5f, 1.0f };

    // Table header
    PdfPTable mytable = new PdfPTable(4);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(
            new Paragraph(new Chunk(title, style1) + "\n" + new Chunk(subtitle, style2) + "\n", style1));
    header.setColspan(4);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    //Date Header
    PdfPCell dateHeader = new PdfPCell(new Paragraph("From : " + new Chunk(
            TimestampConvertor.convertTimeStamp(fromDate, TimestampConvertor.DEFAULT_DATE_PATTERN1), style1),
            style1));
    dateHeader.setColspan(1);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    dateHeader = new PdfPCell(new Paragraph("To : " + new Chunk(
            TimestampConvertor.convertTimeStamp(toDate, TimestampConvertor.DEFAULT_DATE_PATTERN1), style1),
            style1));
    dateHeader.setColspan(3);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    // Info Header
    PdfPCell infoHeader = new PdfPCell(
            new Paragraph("ALL VALUES ARE EXCLUSIVE OF VAT - SALES FIGURES ARE TAKEN AFTER DISCOUNT", style5));
    infoHeader.setColspan(4);
    infoHeader.setHorizontalAlignment(Element.ALIGN_CENTER);
    infoHeader.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(infoHeader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("PRODUCT NAME", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("QTY", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("VALUE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("SUPPLIER", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}

From source file:org.posterita.core.TabularReportMerge.java

License:Open Source License

/**
 * Get Stock Enquiry Report Data/*from w w  w . ja  va2s  . c o m*/
 * @return
 * @throws DocumentException
 * @throws OperationException 
 */
public byte[] getStockEnquiryData() throws DocumentException, OperationException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    Document document = new Document(PageSize.A4);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, bos);

    document.open();

    // Font Syle
    Font style1 = new Font(Font.TIMES_ROMAN, 12.0f, Font.BOLD);
    Font style2 = new Font(Font.TIMES_ROMAN, 8.0f, Font.BOLD);
    Font style3 = new Font(Font.TIMES_ROMAN, 8.0f);
    Font style4 = new Font(Font.TIMES_ROMAN, 7.0f, Font.BOLD);
    Font style5 = new Font(Font.TIMES_ROMAN, 6.0f);
    float[] widths = { 1f, 2f, 0.5f, 0.5f, 0.5f, 0.5f };

    // Table header
    PdfPTable mytable = new PdfPTable(6);
    mytable.setTotalWidth(widths);
    mytable.setWidthPercentage(100f);
    PdfPCell header = new PdfPCell(
            new Paragraph(new Chunk(title, style1) + "\n" + new Chunk(subtitle, style2) + "\n", style1));
    header.setColspan(6);
    header.setHorizontalAlignment(Element.ALIGN_CENTER);
    header.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(header);

    //Date Header
    PdfPCell dateHeader = new PdfPCell(new Paragraph("From : " + new Chunk(
            TimestampConvertor.convertTimeStamp(fromDate, TimestampConvertor.DEFAULT_DATE_PATTERN1), style1),
            style1));
    dateHeader.setColspan(2);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    dateHeader = new PdfPCell(new Paragraph("To : " + new Chunk(
            TimestampConvertor.convertTimeStamp(toDate, TimestampConvertor.DEFAULT_DATE_PATTERN1), style1),
            style1));
    dateHeader.setColspan(4);
    dateHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    dateHeader.setBackgroundColor(Color.GRAY);
    dateHeader.setBorderColor(Color.WHITE);
    mytable.addCell(dateHeader);

    // Info Header
    PdfPCell infoHeader = new PdfPCell(
            new Paragraph("ALL VALUES ARE EXCLUSIVE OF VAT & BASED ON PURCHASE PRICES", style5));
    infoHeader.setColspan(6);
    infoHeader.setHorizontalAlignment(Element.ALIGN_CENTER);
    infoHeader.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
    mytable.addCell(infoHeader);

    // Rows Header
    PdfPCell rowHeader = new PdfPCell(new Paragraph("BARCODE", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("PRODUCT NAME", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Opening Stock Qty", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Opening Stock Value", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Closing Stock Qty", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    rowHeader = new PdfPCell(new Paragraph("Closing Stock Value", style4));
    rowHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
    mytable.addCell(rowHeader);

    document.add(mytable);

    Object[] headers = reportData.get(0);

    PdfPTable table = new PdfPTable(headers.length);

    table.setTotalWidth(widths);
    table.setWidthPercentage(100f);
    for (Object[] row : reportData) {

        for (Object data : row) {
            PdfPCell dataCell = new PdfPCell(new Phrase(data.toString(), style3));
            table.addCell(dataCell);
        }
    }

    document.add(table);
    document.close();

    return bos.toByteArray();
}