Example usage for com.itextpdf.text.pdf ColumnText showTextAligned

List of usage examples for com.itextpdf.text.pdf ColumnText showTextAligned

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf ColumnText showTextAligned.

Prototype

public static void showTextAligned(final PdfContentByte canvas, final int alignment, final Phrase phrase,
        final float x, final float y, final float rotation) 

Source Link

Document

Shows a line of text.

Usage

From source file:nz.ac.waikato.cms.doc.OverlayFilename.java

License:Open Source License

/**
 * Performs the overlay./* w ww . jav  a  2  s .  c  o  m*/
 *
 * @param input   the input file/dir
 * @param output   the output file/dir
 * @param vpos   the vertical position
 * @param hpos   the horizontal position
 * @param stripPath   whether to strip the path
 * @param stripExt   whether to strip the extension
 * @param pages   the array of pages (1-based) to add the overlay to, null for all
 * @param evenPages   whether to enforce even pages in the document
 * @return      true if successfully overlay
 */
public boolean overlay(File input, File output, int vpos, int hpos, boolean stripPath, boolean stripExt,
        int[] pages, boolean evenPages) {
    PdfReader reader;
    PdfStamper stamper;
    FileOutputStream fos;
    PdfContentByte canvas;
    int i;
    String text;
    int numPages;
    File tmpFile;
    Document document;
    PdfWriter writer;
    PdfImportedPage page;
    PdfContentByte cb;

    reader = null;
    stamper = null;
    fos = null;
    numPages = -1;
    try {
        reader = new PdfReader(input.getAbsolutePath());
        fos = new FileOutputStream(output.getAbsolutePath());
        stamper = new PdfStamper(reader, fos);
        numPages = reader.getNumberOfPages();
        if (pages == null) {
            pages = new int[reader.getNumberOfPages()];
            for (i = 0; i < pages.length; i++)
                pages[i] = i + 1;
        }

        if (stripPath)
            text = input.getName();
        else
            text = input.getAbsolutePath();
        if (stripExt)
            text = text.replaceFirst("\\.[pP][dD][fF]$", "");

        for (i = 0; i < pages.length; i++) {
            canvas = stamper.getOverContent(pages[i]);
            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Paragraph(text), hpos, vpos, 0.0f);
        }
    } catch (Exception e) {
        System.err.println("Failed to process " + input + ":");
        e.printStackTrace();
        return false;
    } finally {
        try {
            if (stamper != null)
                stamper.close();
        } catch (Exception e) {
            // ignored
        }
        try {
            if (reader != null)
                reader.close();
        } catch (Exception e) {
            // ignored
        }
        try {
            if (fos != null) {
                fos.flush();
                fos.close();
            }
        } catch (Exception e) {
            // ignored
        }
    }

    // enforce even pages?
    if (evenPages && (numPages > 0) && (numPages % 2 == 1)) {
        reader = null;
        fos = null;
        writer = null;
        tmpFile = new File(output.getAbsolutePath() + "tmp");
        try {
            if (!output.renameTo(tmpFile)) {
                System.err.println("Failed to rename '" + output + "' to '" + tmpFile + "'!");
                return false;
            }
            reader = new PdfReader(tmpFile.getAbsolutePath());
            document = new Document(reader.getPageSize(1));
            fos = new FileOutputStream(output.getAbsoluteFile());
            writer = PdfWriter.getInstance(document, fos);
            document.open();
            document.addCreationDate();
            document.addAuthor(System.getProperty("user.name"));
            cb = writer.getDirectContent();
            for (i = 0; i < reader.getNumberOfPages(); i++) {
                page = writer.getImportedPage(reader, i + 1);
                document.newPage();
                cb.addTemplate(page, 0, 0);
            }
            document.newPage();
            document.add(new Paragraph(" ")); // fake content
            document.close();
        } catch (Exception e) {
            System.err.println("Failed to process " + tmpFile + ":");
            e.printStackTrace();
            return false;
        } finally {
            try {
                if (fos != null) {
                    fos.flush();
                    fos.close();
                }
            } catch (Exception e) {
                // ignored
            }
            try {
                if (reader != null)
                    reader.close();
            } catch (Exception e) {
                // ignored
            }
            try {
                if (writer != null)
                    writer.close();
            } catch (Exception e) {
                // ignored
            }
            if (tmpFile.exists()) {
                try {
                    tmpFile.delete();
                } catch (Exception e) {
                    // ignored
                }
            }
        }
    }

    return true;
}

From source file:org.fossa.rolp.util.LebPageHelper.java

License:Open Source License

@Override
public void onEndPage(PdfWriter writer, Document document) {
    PdfPTable table = new PdfPTable(2);
    table.setTotalWidth(527);/*from  ww  w  .  j  a  v  a 2s  . co m*/
    table.setWidthPercentage(100);
    table.setLockedWidth(true);
    table.getDefaultCell().setFixedHeight(105f);
    table.getDefaultCell().setBorderWidth(0);
    table.addCell("");
    table.addCell(csmLogoImage);
    table.writeSelectedRows(0, -1, 100, 840, writer.getDirectContent());
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT,
            new Phrase(
                    lebData.getSchuelername() + " " + lebData.getSchuljahr() + " "
                            + lebData.getSchulhalbjahr().getId() + " Seite " + document.getPageNumber(),
                    fusszeilenFont),
            100, 75, 0);
}

From source file:org.h819.commons.file.MyPDFUtils.java

/**
 * ??/*from  ww  w  .  j  a v  a  2  s  .  c o m*/
 *
 * @param srcPdf         ?
 * @param destPdf        
 * @param waterMarkText  ?
 * @param waterMarkImage ?
 */
public static void addWaterMarkFile(File srcPdf, File destPdf, String waterMarkText, File waterMarkImage)
        throws IOException, DocumentException {

    if (waterMarkText == null && waterMarkImage == null)
        throw new FileNotFoundException(waterMarkText + " " + waterMarkImage + " all null.");

    if (srcPdf == null || !srcPdf.exists() || !srcPdf.isFile())
        throw new FileNotFoundException("pdf file :  '" + srcPdf + "' does not exsit.");

    if (!FilenameUtils.getExtension(srcPdf.getAbsolutePath()).toLowerCase().equals("pdf"))
        return;

    if (waterMarkImage != null) {
        if (!waterMarkImage.exists() || !waterMarkImage.isFile())
            throw new FileNotFoundException("img file :  '" + srcPdf + "' does not exsit.");

        if (!FilenameUtils.getExtension(waterMarkImage.getAbsolutePath()).toLowerCase().equals("png"))
            throw new FileNotFoundException("image file '" + srcPdf
                    + "'  not png.(???? pdf )");
    }

    PdfReader reader = getPdfReader(srcPdf);

    int n = reader.getNumberOfPages();
    PdfStamper stamper = getPdfStamper(srcPdf, destPdf);

    //
    //        HashMap<String, String> moreInfo = new HashMap<String, String>();
    //        moreInfo.put("Author", "H819 create");
    //        moreInfo.put("Producer", "H819 Producer");
    //        Key = CreationDate, Value = D:20070425182920
    //        Key = Producer, Value = TH-OCR 2000 (C++/Win32)
    //        Key = Author, Value = TH-OCR 2000
    //        Key = Creator, Value = TH-OCR PDF Writer

    // stamp.setMoreInfo(moreInfo);

    // text
    Phrase text = null;
    if (waterMarkText != null) {
        //
        Font bfont = getPdfFont();
        bfont.setSize(35);
        bfont.setColor(new BaseColor(192, 192, 192));
        text = new Phrase(waterMarkText, bfont);
    }
    // image watermark
    Image img = null;
    float w = 0;
    float h = 0;
    if (waterMarkImage != null) {
        img = Image.getInstance(waterMarkImage.getAbsolutePath());
        w = img.getScaledWidth();
        h = img.getScaledHeight();
        //  img.
        img.setRotationDegrees(45);

    }

    // transparency
    PdfGState gs1 = new PdfGState();
    gs1.setFillOpacity(0.5f);
    // properties
    PdfContentByte over;
    Rectangle pageSize;
    float x, y;
    // loop over every page
    for (int i = 1; i <= n; i++) {
        pageSize = reader.getPageSizeWithRotation(i);
        x = (pageSize.getLeft() + pageSize.getRight()) / 2;
        y = (pageSize.getTop() + pageSize.getBottom()) / 2;
        //  pdf pdf ???
        over = stamper.getOverContent(i);
        // ?
        // over = stamp.getUnderContent(i);
        // ?? over.beginText(); over.endText(); ?
        // ,?,:????
        over.saveState(); //??
        over.setGState(gs1);

        if (waterMarkText != null && waterMarkImage != null) { // 
            if (i % 2 == 1) {
                ColumnText.showTextAligned(over, Element.ALIGN_CENTER, text, x, y, 45);
            } else
                over.addImage(img, w, 0, 0, h, x - (w / 2), y - (h / 2));
        } else if (waterMarkText != null) { //?

            ColumnText.showTextAligned(over, Element.ALIGN_CENTER, text, x, y, 45);
            //?? ,?, :?????
            // ...

        } else { //?
            over.addImage(img, w, 0, 0, h, x - (w / 2), y - (h / 2));
        }

        over.restoreState();//???
    }

    stamper.close();
    reader.close();

}

From source file:org.me.modelos.HeaderFooterPageEvent.java

@Override
public void onStartPage(PdfWriter writer, Document document) {

    Rectangle rect = writer.getBoxSize("art");
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_CENTER,
            new Phrase(motelNombre + " " + direccion + " " + telefono, font), rect.getLeft(), rect.getTop(), 0);
    ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_CENTER, new Phrase(fecha, font),
            rect.getRight(), rect.getTop(), 0);
}

From source file:PDF.CrearPDF_Ficha.java

public static void drawRectangle(PdfContentByte content, float x, float y, float width, float height) {
    try {/* ww  w  .  j av a  2  s  . c o  m*/

        content.saveState();

        PdfGState state = new PdfGState();
        content.setGState(state);
        content.setRGBColorFill(232, 232, 232);
        content.setColorStroke(BaseColor.BLUE);
        content.setLineWidth((float) .5);
        content.rectangle(x, y, width, height);
        content.fillStroke();
        content.restoreState();

        BaseFont bf = BaseFont.createFont();
        float fontSize = 15f;
        Phrase phrase = new Phrase("Foto", new Font(bf, fontSize));
        ColumnText.showTextAligned(content, Element.ALIGN_CENTER, phrase, 475, 687, 0);
    } catch (DocumentException ex) {
        Logger.getLogger(CrearPDF_Ficha.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(CrearPDF_Ficha.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:pdf.FooterHeader.java

License:Open Source License

@Override
public void onEndPage(PdfWriter writer, Document document) {
    PdfPTable table = new PdfPTable(3);
    try {/*w w w.  j a  va2 s  .c  om*/
        if (document.getPageNumber() > 1) {
            table.setWidths(new int[] { 24, 24, 2 });
            table.setTotalWidth(527);
            table.setLockedWidth(true);
            table.getDefaultCell().setFixedHeight(20);
            table.getDefaultCell().setBorder(Rectangle.BOTTOM);
            table.addCell(header);
            table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
            table.addCell(String.format("Seite %d von", writer.getPageNumber()));
            PdfPCell cell = new PdfPCell(Image.getInstance(total));
            cell.setBorder(Rectangle.BOTTOM);
            table.addCell(cell);
            table.writeSelectedRows(0, -1, 34, 803, writer.getDirectContent());
        }
    } catch (DocumentException de) {
        throw new ExceptionConverter(de);
    }

    PdfContentByte cb = writer.getDirectContent();
    if (document.getPageNumber() > 1) {
        footer = new Phrase(document.getPageNumber() - 2);
        ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, footer,
                (document.right() - document.left() - 30) / 2 + document.leftMargin(), document.bottom() + 10,
                0);
    }

}

From source file:pdf.FooterHeader.java

License:Open Source License

@Override
public void onCloseDocument(PdfWriter writer, Document document) {
    ColumnText.showTextAligned(total, Element.ALIGN_LEFT,
            new Phrase(String.valueOf(writer.getPageNumber() - 1)), 2, 2, 0);
}

From source file:printom.PDFCreator.java

public static void createLabel(int aLabelType, int aJobNum, char aJobIdentifier, String aCustName,
        String aItemName, String aItemCode, String aDate, String aPOrderNum, int aInputPcs) {

    String myJobNum = String.valueOf(aJobNum);
    char myJobIdentifier = aJobIdentifier;
    String myCustName = aCustName;
    String myItemName = aItemName;
    String myItemCode = aItemCode;
    String myDate = aDate;/*from   w ww. j  a  va  2  s  .c  o  m*/
    String myPOrderNum = aPOrderNum;
    String myInputPcs = String.valueOf(aInputPcs);

    try {
        String src = "";
        if (aLabelType == 1) {
            src = CTNLABEL;
        }
        String dest = RESULTLABEL;

        Font timesJob = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD, BaseColor.WHITE);
        Font timesDef = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.NORMAL, BaseColor.BLACK);

        PdfReader reader = new PdfReader(src);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
        PdfContentByte canvas = stamper.getOverContent(1);

        for (int k = 0; k < 3; k++) {

            //Positions
            int[] x = { 298, 350, 125, 80, 80, 80, 80, 120 };
            int[] y = { 562, 562, 518, 498, 479, 459, 440, 420 };

            if (k == 1) {
                for (int j = 0; j < 8; j++) {
                    y[j] = y[j] - 186;
                }
            }

            if (k == 2) {
                for (int j = 0; j < 8; j++) {
                    y[j] = y[j] - 372;
                }
            }

            for (int i = 0; i < 2; i++) {

                if (i == 1) {
                    for (int j = 0; j < 8; j++) {
                        x[j] = x[j] + 372;
                    }
                }

                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myJobNum, timesJob), x[0],
                        y[0], 0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                        new Phrase(String.valueOf(myJobIdentifier), timesDef), x[1], y[1], 0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myCustName, timesDef), x[2],
                        y[2], 0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myItemName, timesDef), x[3],
                        y[3], 0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myItemCode, timesDef), x[4],
                        y[4], 0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myDate, timesDef), x[5], y[5],
                        0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myPOrderNum, timesDef), x[6],
                        y[6], 0);
                ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myInputPcs, timesDef), x[7],
                        y[7], 0);
            }
        }
        stamper.close();
        reader.close();

    } catch (IOException | DocumentException ex) {
        Logger.getLogger(PDFCreator.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:printom.PDFCreator.java

public static void createReport(int aJobNum, char aJobIdentifier, String aCustName, String aItemName,
        String aItemCode, String aDate, String aPOrderNum, int aInputPcs, int aQtyWithOvers, int aNumContainers,
        String aInputContainer) {

    String myJobNum = String.valueOf(aJobNum);
    char myJobIdentifier = aJobIdentifier;
    String myCustName = aCustName;
    String myItemName = aItemName;
    String myItemCode = aItemCode;
    String myDate = aDate;//from www .j  a va 2  s .c om
    String myPOrderNum = aPOrderNum;
    String myInputPcs = String.valueOf(aInputPcs);
    int myQtyWithOvers = aQtyWithOvers;
    int myNumContainers = aNumContainers;
    String myInputContainer = aInputContainer;

    double amount = myQtyWithOvers;
    DecimalFormat formatter = new DecimalFormat("#,###");

    String myStrQtyWithOvers = formatter.format(amount);

    try {
        String src = REPORT;
        String dest = RESULTREPORT;

        Font timesJob = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD, BaseColor.WHITE);
        Font timesDef = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.NORMAL, BaseColor.BLACK);

        PdfReader reader = new PdfReader(src);
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
        PdfContentByte canvas = stamper.getOverContent(1);

        int[] x = { 441, 510, 426, 87, 87, 87, 426, 307, 218, 325, 426 };
        int[] y = { 547, 547, 473, 450, 428, 473, 450, 325, 385, 385, 428 };

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myJobNum, timesJob), x[0], y[0], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase(String.valueOf(myJobIdentifier), timesDef), x[1], y[1], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myCustName, timesDef), x[2], y[2], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myItemName, timesDef), x[3], y[3], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myItemCode, timesDef), x[4], y[4], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myDate, timesDef), x[5], y[5], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myPOrderNum, timesDef), x[6], y[6],
                0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myInputPcs, timesDef), x[7], y[7], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myStrQtyWithOvers, timesDef), x[8],
                y[8], 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase("(" + String.valueOf(myNumContainers) + " cases with overs)", timesDef), x[9], y[9],
                0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myInputContainer, timesDef), x[10],
                y[10], 0);
        stamper.close();
        reader.close();

    } catch (IOException | DocumentException ex) {
        Logger.getLogger(PDFCreator.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:printom.PDFCreator.java

public static void createBOL(ArrayList<Shipment> aShipmentList, int aTemplate) {

    ArrayList<Shipment> shipmentList = aShipmentList;
    Order chosenOrder = shipmentList.get(0).getChosenOrder();

    String bolCode = shipmentList.get(0).getBolCode();
    String bolFileName = bolCode + ".pdf";

    String myCustName = Customer.getCustomerName(chosenOrder.getCustID());
    String myShipDate = Prompter.dateString(shipmentList.get(0).getDateShipped());
    String myCarrier = shipmentList.get(0).getCarrier();
    String myInstructs = shipmentList.get(0).getInstructions();
    Address myAddress = Address.retAddress(shipmentList.get(0).getChosenOrder().getShipAddressID());

    try {/* w  w  w  .  j  a v  a2 s .  c om*/

        //BaseFont bf1 = BaseFont.createFont("c:/windows/fonts/consola.ttf",
        //BaseFont.WINANSI, BaseFont.EMBEDDED);
        Font timesJob = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD, BaseColor.WHITE);
        Font timesDef = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.NORMAL, BaseColor.BLACK);

        Font courierNorm = new Font(Font.FontFamily.COURIER, 11, Font.NORMAL, BaseColor.BLACK);
        Font courierSBig = new Font(Font.FontFamily.COURIER, 13, Font.NORMAL, BaseColor.BLACK);

        // step 1
        Document document = new Document(PageSize.LETTER, 18, 18, 126, 54);
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(bolFileName));
        // step 3
        document.open();
        // step 4
        // we set the compression to 0 so that we can read the PDF syntax
        writer.setCompressionLevel(0);
        // writes something to the direct content using a convenience method
        PdfContentByte canvas = writer.getDirectContentUnder();

        // Graphic Letterheard
        Image image = Image.getInstance("AresLH.jpg");
        image.scalePercent(50f);
        image.setAbsolutePosition(43, 680);

        if (aTemplate == 1)
            document.add(image);

        // 11" = 792
        // 8.5 = 612
        // TEXT SIZE = 11
        // LINE SPACING = 11
        // PARAGRAPH SPACE = 3 * 11
        int myPageWidth = 612;
        int myPageHeight = 792;
        int myTopMargin = 655;
        int myTopSubMargin = 622;
        int myPageLeftMargin = 54;

        // HEADER LINES
        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ARES BOL# " + bolCode, courierNorm),
                myPageLeftMargin, myTopMargin, 0);
        ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, new Phrase("DATE: " + myShipDate, courierNorm),
                myPageWidth - myPageLeftMargin, myTopMargin, 0);

        // CONSIGNEE ADDRESS
        int myAddressStartY = myTopSubMargin;
        int myCurrentY = myTopSubMargin;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CONSIGNEE", courierNorm),
                myPageLeftMargin, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ADDRESS:", courierNorm),
                myPageLeftMargin, myCurrentY, 0);

        myCurrentY = myAddressStartY;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase(myAddress.getAttention(), courierNorm), 125, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myAddress.getAddress1(), courierNorm),
                125, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase(myAddress.getCity() + ", " + myAddress.getState() + " " + myAddress.getZipCode(),
                        courierNorm),
                125, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myAddress.getLastLine(), courierNorm),
                125, myCurrentY, 0);

        // FROM ADDRESS
        myCurrentY = myAddressStartY;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("FROM:", courierNorm),
                myPageLeftMargin + 288, myCurrentY, 0);

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase("Ares Printing & Packaging", courierNorm), 98 + 288, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase("63 Flushing Ave, Bldg 5", courierNorm), 98 + 288, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Brooklyn Navy Yard", courierNorm),
                98 + 288, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Brooklyn, NY 11205", courierNorm),
                98 + 288, myCurrentY, 0);

        // CARRIER, FOB AND SPECIAL INSTRUCTIONS
        myCurrentY -= 33;
        int myItemStartY = myCurrentY;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CARRIER: " + myCarrier, courierNorm),
                myPageLeftMargin, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("FOB: Brooklyn", courierNorm),
                myPageLeftMargin, myCurrentY, 0);

        myCurrentY -= 11;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase("SPECIAL INSTRUCTIONS: " + myInstructs, courierNorm), myPageLeftMargin, myCurrentY,
                0);

        int myBOLTPallets = 0;
        int myBOLTCases = 0;
        int myBOLTPieces = 0;

        myCurrentY -= 22;

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                new Phrase("---------------------------------------------------------------------------",
                        courierNorm),
                myPageLeftMargin, myCurrentY, 0);

        // Start Item/ShipLine Information
        for (Shipment shipment : shipmentList) {

            ArrayList<Inventory> shipInventoryList = shipment.getInvenList();
            ArrayList<Inventory.InventoryLine> invenLineList = new ArrayList<>();

            Item item = new Item(shipInventoryList.get(0).getItemID());
            String apo = "";

            for (int i = 0; i < shipInventoryList.size(); i++) {

                if (i == 0) {
                    apo += shipInventoryList.get(i).getJobNum();
                } else {
                    apo += ", " + shipInventoryList.get(i).getJobNum();
                }

                invenLineList.addAll(shipInventoryList.get(i).getInvenLines());

            }
            //START ITEM
            myCurrentY -= 22;

            if (myCurrentY < 100) {
                document.newPage();
                if (aTemplate == 1) {
                    document.add(image);
                }
                myCurrentY = myTopSubMargin;
            }

            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                    new Phrase("ITEM NAME: " + item.getItemName(), courierNorm), myPageLeftMargin, myCurrentY,
                    0);

            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                    new Phrase("CUSTOMER PO#: " + chosenOrder.getPOrderNum(), courierNorm),
                    myPageLeftMargin + 288, myCurrentY, 0);

            myCurrentY -= 11;

            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                    new Phrase("ITEM CODE: " + item.getItemCode(), courierNorm), myPageLeftMargin, myCurrentY,
                    0);

            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("APO: " + apo, courierNorm),
                    myPageLeftMargin + 288, myCurrentY, 0);

            myCurrentY -= 22;

            ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pallets", courierNorm),
                    myPageLeftMargin + 115, myCurrentY, 0);

            ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                    new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);

            ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pieces per case", courierNorm),
                    myPageLeftMargin + 340, myCurrentY, 0);

            // ITEM 1
            myCurrentY -= 12;

            int myItemTPallets = 0;
            int myItemTCases = 0;
            int myItemTPieces = 0;

            for (Inventory.InventoryLine invenLine : invenLineList) {

                ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                        new Phrase(String.valueOf(invenLine.getPallets()), courierNorm), myPageLeftMargin + 115,
                        myCurrentY, 0);

                ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm),
                        myPageLeftMargin + 150, myCurrentY, 0);

                ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                        new Phrase(String.valueOf(invenLine.getCases()), courierNorm), myPageLeftMargin + 215,
                        myCurrentY, 0);

                ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm),
                        myPageLeftMargin + 281, myCurrentY, 0);

                ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                        new Phrase(String.valueOf(invenLine.getPieces()), courierNorm), myPageLeftMargin + 340,
                        myCurrentY, 0);

                // LINE 2
                myCurrentY -= 11;

                myItemTPallets += invenLine.getPallets();
                myItemTCases += invenLine.getPallets() * invenLine.getCases();
                myItemTPieces += invenLine.getPallets() * invenLine.getCases() * invenLine.getPieces();

                myBOLTPallets += myItemTPallets;
                myBOLTCases += myItemTCases;
                myBOLTPieces += myItemTPieces;

            }

            myCurrentY -= 22;

            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM TOTALS:", courierNorm),
                    myPageLeftMargin, myCurrentY, 0);

            ColumnText.showTextAligned(
                    canvas, Element.ALIGN_LEFT, new Phrase("   PALLETS: " + myItemTPallets + "   CASES: "
                            + myItemTCases + "   QUANTITY: " + myItemTPieces, courierNorm),
                    myPageLeftMargin + 95, myCurrentY, 0);

            myCurrentY -= 11;

            ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
                    new Phrase("---------------------------------------------------------------------------",
                            courierNorm),
                    myPageLeftMargin, myCurrentY, 0);

        }

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////           

        /*
                
        //START ITEM
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                
                
                     // ITEM 1
                    myCurrentY -= 12;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
           // LINE 2
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                
                
                    myCurrentY -= 33;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("   PALLETS: 12   CASES: 282   QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0);
                
                    myCurrentY -= 11;
                            
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0);
        //////////////         
        //END ITEM
        ////////////// 
                            
                            
                            
                            
                            
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                    myCurrentY -= 6;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0);
        //////////////         
        //END ITEM
        ////////////// 
                            
                    myCurrentY -= 12;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
           // LINE 2
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                    myCurrentY -= 1;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0);
                
                    myCurrentY -= 33;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("   PALLETS: 12   CASES: 282   QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0);
                
                    myCurrentY -= 11;
                            
        //////////////         
        //START ITEM
        ////////////// 
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    //START ITEM
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                    myCurrentY -= 6;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0);
                
                     // ITEM 1
                    myCurrentY -= 12;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
           // LINE 2
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                    myCurrentY -= 1;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0);
                
                    myCurrentY -= 33;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("   PALLETS: 12   CASES: 282   QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0);
                
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0);
        //////////////         
        //END ITEM
        ////////////// 
                    */

        //////////////         
        //START FOOTER
        //////////////     
        myCurrentY -= 33;

        if (myCurrentY < 85) {
            document.newPage();
            myCurrentY = myTopSubMargin;
        }

        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                new Phrase("SHIPMENT RECEIVED IN GOOD CONDITION BY:", courierNorm), myPageLeftMargin + 128,
                myCurrentY, 0);

        myCurrentY -= 33;

        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                new Phrase("______________________________________", courierNorm), myPageLeftMargin + 128,
                myCurrentY, 0);
        myCurrentY -= 16;

        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
                new Phrase("(SIGNATURE) (DATE & TIME)", courierNorm), myPageLeftMargin + 128, myCurrentY, 0);

        myCurrentY += 49;

        ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT,
                new Phrase("TOTAL PALLETS: " + myBOLTPallets, courierSBig), myPageLeftMargin + 500, myCurrentY,
                0);

        myCurrentY -= 13;

        ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT,
                new Phrase("TOTAL CASES: " + myBOLTCases, courierSBig), myPageLeftMargin + 500, myCurrentY, 0);

        myCurrentY -= 13;

        ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT,
                new Phrase("TOTAL WEIGHT: ~" + ((myBOLTCases * 25) + (myBOLTPallets * 40)) + " lbs",
                        courierSBig),
                myPageLeftMargin + 500, myCurrentY, 0);
        //////////////         
        //END FOOTER
        ////////////// 
        /*
                    document.newPage();
                            
                    myCurrentY = myTopSubMargin;
                
        //////////////         
        //START ITEM
        ////////////// 
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    //START ITEM
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0);
                
                    myCurrentY -= 22;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                    myCurrentY -= 6;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0);
                
                     // ITEM 1
                    myCurrentY -= 12;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
           // LINE 2
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER,
            new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0);
                
                    myCurrentY -= 1;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0);
                
                    myCurrentY -= 33;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0);
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("   PALLETS: 12   CASES: 282   QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0);
                
                    myCurrentY -= 11;
                
                    ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT,
            new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0);
        //////////////         
        //END ITEM
        ////////////// 
                    */

        // step 5
        document.close();

        if (Desktop.isDesktopSupported()) {
            try {
                File f = new File(bolFileName);
                Desktop.getDesktop().open(f);
            } catch (IOException ex) {
                // no application registered for PDFs
            }
        }

    } catch (IOException | DocumentException ex) {
        Logger.getLogger(PDFCreator.class.getName()).log(Level.SEVERE, null, ex);
    }

}