Example usage for com.lowagie.text.pdf ColumnText setSimpleColumn

List of usage examples for com.lowagie.text.pdf ColumnText setSimpleColumn

Introduction

In this page you can find the example usage for com.lowagie.text.pdf ColumnText setSimpleColumn.

Prototype

public void setSimpleColumn(float llx, float lly, float urx, float ury) 

Source Link

Document

Simplified method for rectangular columns.

Usage

From source file:it.eng.spagobi.engines.worksheet.exporter.WorkSheetPDFExporter.java

License:Mozilla Public License

public void addHtmlToPdfContentByte(String html, float[] pos) {

    PdfContentByte cb = docWriter.getDirectContent();
    StyleSheet styles = createDefaultStyleSheet();

    ColumnText ct = new ColumnText(cb);
    ct.setSimpleColumn(pos[0], pos[1], pos[2], pos[3]);
    ct.setYLine(pos[3]);/*  w w w. j  a  va  2s .  co m*/
    try {
        ArrayList htmlObjs = HTMLWorker.parseToList(new StringReader(html), styles);
        for (int k = 0; k < htmlObjs.size(); ++k) {
            ct.addElement((Element) htmlObjs.get(k));
        }
        ct.go();
    } catch (Exception e) {
        throw new RuntimeException("Could not parse HTML", e);
    }
}

From source file:nl.dykema.jxmlnote.report.pdf.PdfReport.java

License:Open Source License

public void beginReport(File output) throws ReportException {
    try {/* w ww.java  2  s .  c o  m*/
        _canceled = false;
        _doc = new Document();
        _writer = PdfWriter.getInstance(_doc, new FileOutputStream(output));
        setPageSize(PageSize.A4);
        setOrientation(Orientation.PORTRAIT);
        setMargins(new Rectangle(72.0f, 72.0f, 72.0f, 72.0f));

        _writer.setPageEvent(new PdfPageEvent() {

            public void onChapter(PdfWriter arg0, Document arg1, float arg2, com.lowagie.text.Paragraph arg3) {
            }

            public void onChapterEnd(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onCloseDocument(PdfWriter arg0, Document arg1) {
                PdfReport.super.getReportListeners().informEndReport(PdfReport.this);
            }

            public void onGenericTag(PdfWriter arg0, Document arg1, com.lowagie.text.Rectangle arg2,
                    String arg3) {
            }

            public void onOpenDocument(PdfWriter arg0, Document arg1) {
            }

            public void onParagraph(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onParagraphEnd(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onSection(PdfWriter arg0, Document arg1, float arg2, int arg3,
                    com.lowagie.text.Paragraph arg4) {
            }

            public void onSectionEnd(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onStartPage(PdfWriter wrt, Document doc) {
            }

            public void onEndPage(PdfWriter wrt, Document doc) {
                try {
                    ReportListeners _listeners = PdfReport.super.getReportListeners();
                    _listeners.informNextPage(PdfReport.this);

                    Vector<ReportElement> vhdr = _listeners.getHeader(PdfReport.this);
                    Vector<ReportElement> vftr = _listeners.getFooter(PdfReport.this);

                    PdfContentByte cb = wrt.getDirectContent();

                    // write headers on top of each other
                    if (vhdr != null) {
                        Iterator<ReportElement> it = vhdr.iterator();

                        while (it.hasNext()) {
                            ReportElement hdr = it.next();

                            Rectangle pageSize = PdfReport.this.getPageRect();
                            Rectangle margins = PdfReport.this.getMargins();
                            float ytop = pageSize.top() - margins.top();
                            float hdrHeight = PdfReport.this.getHeight(hdr, null);
                            float rpos = (margins.top() - hdrHeight) / 2;
                            float hytop = ytop + rpos + hdrHeight;

                            if (hdr instanceof PdfTable) {
                                int firstRow = 0, lastRow = -1;
                                PdfTable phdr = (PdfTable) hdr;
                                phdr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb);
                            } else if (hdr instanceof PdfParagraph) {
                                PdfParagraph ppar = (PdfParagraph) hdr;
                                ColumnText ct = new ColumnText(cb);
                                float textWidth = PdfReport.this.getTextWidth();
                                ct.addElement(ppar);
                                ct.setSimpleColumn(margins.left(), ytop + rpos, margins.left() + textWidth,
                                        hytop);
                                ct.go();
                            }
                        }
                    }

                    // write footers on top of each other

                    if (vftr != null) {
                        Iterator<ReportElement> it = vftr.iterator();

                        while (it.hasNext()) {
                            ReportElement ftr = it.next();

                            Rectangle margins = PdfReport.this.getMargins();
                            float ytop = margins.bottom();
                            float hdrHeight = PdfReport.this.getHeight(ftr, null);
                            float rpos = (margins.bottom() - hdrHeight) / 2;
                            float hytop = ytop - rpos;

                            if (ftr instanceof PdfTable) {
                                int firstRow = 0, lastRow = -1;
                                PdfTable pftr = (PdfTable) ftr;
                                pftr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb);
                            } else if (ftr instanceof PdfParagraph) {
                                PdfParagraph ppar = (PdfParagraph) ftr;
                                ColumnText ct = new ColumnText(cb);
                                float textWidth = PdfReport.this.getTextWidth();
                                ct.addElement(ppar);
                                ct.setSimpleColumn(margins.left(), rpos, margins.left() + textWidth, hytop);
                                ct.go();
                            }
                        }
                    }

                } catch (ReportException e) {
                    DefaultXMLNoteErrorHandler.exception(e);
                } catch (DocumentException e) {
                    DefaultXMLNoteErrorHandler.exception(e);
                }

            }

        });

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

From source file:org.jdesktop.swingx.jxmlnote.report.pdf.PdfReport.java

License:Open Source License

public void beginReport(File output) throws ReportException {
    try {/*from  w  w w.  j a va  2 s.com*/
        _canceled = false;
        _doc = new Document();
        _writer = PdfWriter.getInstance(_doc, new FileOutputStream(output));
        setPageSize(PageSize.A4);
        setMargins(new Rectangle(72.0f, 72.0f, 72.0f, 72.0f));

        _writer.setPageEvent(new PdfPageEvent() {

            public void onChapter(PdfWriter arg0, Document arg1, float arg2, com.lowagie.text.Paragraph arg3) {
            }

            public void onChapterEnd(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onCloseDocument(PdfWriter arg0, Document arg1) {
                PdfReport.super.getReportListeners().informEndReport(PdfReport.this);
            }

            public void onGenericTag(PdfWriter arg0, Document arg1, com.lowagie.text.Rectangle arg2,
                    String arg3) {
            }

            public void onOpenDocument(PdfWriter arg0, Document arg1) {
            }

            public void onParagraph(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onParagraphEnd(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onSection(PdfWriter arg0, Document arg1, float arg2, int arg3,
                    com.lowagie.text.Paragraph arg4) {
            }

            public void onSectionEnd(PdfWriter arg0, Document arg1, float arg2) {
            }

            public void onStartPage(PdfWriter wrt, Document doc) {
            }

            public void onEndPage(PdfWriter wrt, Document doc) {
                try {
                    ReportListeners _listeners = PdfReport.super.getReportListeners();
                    _listeners.informNextPage(PdfReport.this);

                    Vector<ReportElement> vhdr = _listeners.getHeader(PdfReport.this);
                    Vector<ReportElement> vftr = _listeners.getFooter(PdfReport.this);

                    PdfContentByte cb = wrt.getDirectContent();

                    // write headers on top of each other
                    if (vhdr != null) {
                        Iterator<ReportElement> it = vhdr.iterator();

                        while (it.hasNext()) {
                            ReportElement hdr = it.next();

                            Rectangle pageSize = PdfReport.this.getPageRect();
                            Rectangle margins = PdfReport.this.getMargins();
                            float ytop = pageSize.top() - margins.top();
                            float hdrHeight = PdfReport.this.getHeight(hdr, null);
                            float rpos = (margins.top() - hdrHeight) / 2;
                            float hytop = ytop + rpos + hdrHeight;

                            if (hdr instanceof PdfTable) {
                                int firstRow = 0, lastRow = -1;
                                PdfTable phdr = (PdfTable) hdr;
                                phdr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb);
                            } else if (hdr instanceof PdfParagraph) {
                                PdfParagraph ppar = (PdfParagraph) hdr;
                                ColumnText ct = new ColumnText(cb);
                                float textWidth = PdfReport.this.getTextWidth();
                                ct.addElement(ppar);
                                ct.setSimpleColumn(margins.left(), ytop + rpos, margins.left() + textWidth,
                                        hytop);
                                ct.go();
                            }
                        }
                    }

                    // write footers on top of each other

                    if (vftr != null) {
                        Iterator<ReportElement> it = vftr.iterator();

                        while (it.hasNext()) {
                            ReportElement ftr = it.next();

                            Rectangle margins = PdfReport.this.getMargins();
                            float ytop = margins.bottom();
                            float hdrHeight = PdfReport.this.getHeight(ftr, null);
                            float rpos = (margins.bottom() - hdrHeight) / 2;
                            float hytop = ytop - rpos;

                            if (ftr instanceof PdfTable) {
                                int firstRow = 0, lastRow = -1;
                                PdfTable pftr = (PdfTable) ftr;
                                pftr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb);
                            } else if (ftr instanceof PdfParagraph) {
                                PdfParagraph ppar = (PdfParagraph) ftr;
                                ColumnText ct = new ColumnText(cb);
                                float textWidth = PdfReport.this.getTextWidth();
                                ct.addElement(ppar);
                                ct.setSimpleColumn(margins.left(), rpos, margins.left() + textWidth, hytop);
                                ct.go();
                            }
                        }
                    }

                } catch (ReportException e) {
                    DefaultXMLNoteErrorHandler.exception(e);
                } catch (DocumentException e) {
                    DefaultXMLNoteErrorHandler.exception(e);
                }

            }

        });

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

From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java

License:Open Source License

public void printDocHeaderFooter() throws IOException, DocumentException {
    //Create the document we are going to write to
    document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, os);
    writer.setPageEvent(new EndPage());
    document.setPageSize(PageSize.LETTER);
    document.open();//from  w ww .  ja v  a 2s.c  o  m

    //Create the font we are going to print to
    bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    font = new Font(bf, FONTSIZE, Font.NORMAL);

    String title = "", gender = "", dob = "", age = "", mrp = "";
    if (this.demoDtl != null) {
        //set up document title and header
        ResourceBundle propResource = ResourceBundle.getBundle("oscarResources");
        title = propResource.getString("oscarEncounter.pdfPrint.title") + " " + (String) demoDtl.get("demoName")
                + "\n";
        gender = propResource.getString("oscarEncounter.pdfPrint.gender") + " "
                + (String) demoDtl.get("demoSex") + "\n";
        dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " " + (String) demoDtl.get("demoDOB")
                + "\n";
        age = propResource.getString("oscarEncounter.pdfPrint.age") + " " + (String) demoDtl.get("demoAge")
                + "\n";
        mrp = propResource.getString("oscarEncounter.pdfPrint.mrp") + " " + (String) demoDtl.get("mrp") + "\n";
    } else {
        //set up document title and header
        ResourceBundle propResource = ResourceBundle.getBundle("oscarResources");
        title = propResource.getString("oscarEncounter.pdfPrint.title") + " "
                + (String) request.getAttribute("demoName") + "\n";
        gender = propResource.getString("oscarEncounter.pdfPrint.gender") + " "
                + (String) request.getAttribute("demoSex") + "\n";
        dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " "
                + (String) request.getAttribute("demoDOB") + "\n";
        age = propResource.getString("oscarEncounter.pdfPrint.age") + " "
                + (String) request.getAttribute("demoAge") + "\n";
        mrp = propResource.getString("oscarEncounter.pdfPrint.mrp") + " " + (String) request.getAttribute("mrp")
                + "\n";
    }

    String[] info = new String[] { title, gender, dob, age, mrp };

    ClinicData clinicData = new ClinicData();
    clinicData.refreshClinicData();
    String[] clinic = new String[] { clinicData.getClinicName(), clinicData.getClinicAddress(),
            clinicData.getClinicCity() + ", " + clinicData.getClinicProvince(), clinicData.getClinicPostal(),
            clinicData.getClinicPhone(), "Fax: " + clinicData.getClinicFax() };

    //Header will be printed at top of every page beginning with p2
    Phrase headerPhrase = new Phrase(LEADING, title, font);
    HeaderFooter header = new HeaderFooter(headerPhrase, false);
    header.setAlignment(HeaderFooter.ALIGN_CENTER);
    document.setHeader(header);

    //Write title with top and bottom borders on p1
    cb = writer.getDirectContent();
    cb.setColorStroke(new Color(0, 0, 0));
    cb.setLineWidth(0.5f);

    cb.moveTo(document.left(), document.top());
    cb.lineTo(document.right(), document.top());
    cb.stroke();
    //cb.setFontAndSize(bf, FONTSIZE);

    upperYcoord = document.top() - (font.getCalculatedLeading(LINESPACING) * 2f);

    ColumnText ct = new ColumnText(cb);
    Paragraph p = new Paragraph();
    p.setAlignment(Paragraph.ALIGN_LEFT);
    Phrase phrase = new Phrase();
    Phrase dummy = new Phrase();
    for (int idx = 0; idx < clinic.length; ++idx) {
        phrase.add(clinic[idx] + "\n");
        dummy.add("\n");
        upperYcoord -= phrase.getLeading();
    }

    dummy.add("\n");
    ct.setSimpleColumn(document.left(), upperYcoord, document.right() / 2f, document.top());
    ct.addElement(phrase);
    ct.go();

    p.add(dummy);
    document.add(p);

    //add patient info
    phrase = new Phrase();
    p = new Paragraph();
    p.setAlignment(Paragraph.ALIGN_RIGHT);
    for (int idx = 0; idx < info.length; ++idx) {
        phrase.add(info[idx]);
    }

    ct.setSimpleColumn(document.right() / 2f, upperYcoord, document.right(), document.top());
    p.add(phrase);
    ct.addElement(p);
    ct.go();

    cb.moveTo(document.left(), upperYcoord);
    cb.lineTo(document.right(), upperYcoord);
    cb.stroke();
    upperYcoord -= phrase.getLeading();

    if (Boolean.parseBoolean(OscarProperties.getInstance().getProperty("ICFHT_CONVERT_TO_PDF", "false"))) {
        printPersonalInfo();
    }
}

From source file:questions.graphics2D.ArabicText.java

public static void main(String[] args) {
    Document document = new Document(PageSize.A4);
    try {/*ww w  .  j  a v  a  2s  .  c o m*/
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        document.open();
        String text1 = "\u0634\u0627\u062f\u062c\u0645\u0647\u0648\u0631";
        String text2 = "\u0634";
        java.awt.Font font = new java.awt.Font("arial", 0, 12);
        PdfContentByte cb = writer.getDirectContent();

        java.awt.Graphics2D g2Shapes = cb.createGraphicsShapes(PageSize.A4.getWidth(), PageSize.A4.getHeight());
        g2Shapes.setFont(font);
        g2Shapes.drawString("text1, expected to render RTL", 50, 100);
        g2Shapes.drawString(text1, 50, 120);
        g2Shapes.drawString("text2, expected to match right-most glyph above", 50, 140);
        g2Shapes.drawString(text2, 50, 160);
        g2Shapes.dispose();

        ColumnText text = new ColumnText(cb);
        Font f = new Font(
                BaseFont.createFont("c://windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED),
                12);
        text.setSimpleColumn(50, 620, 545, 50);
        text.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
        text.setText(new Phrase(text1, f));
        text.go();
        text.setText(new Phrase(text2, f));
        text.go();

        FontMapper arialuni = new FontMapper() {
            public BaseFont awtToPdf(java.awt.Font font) {
                try {
                    return BaseFont.createFont("c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H,
                            BaseFont.EMBEDDED);
                } catch (DocumentException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;
            }

            public java.awt.Font pdfToAwt(BaseFont font, int size) {
                return null;
            }

        };
        java.awt.Graphics2D g = cb.createGraphics(PageSize.A4.getWidth(), PageSize.A4.getHeight(), arialuni);
        g.setFont(null);
        g.drawString("text1, not expected to render RTL", 50, 180);
        g.drawString(text1, 50, 200);
        g.drawString("text2, not expected to match right-most glyph above", 50, 220);
        g.drawString(text2, 50, 240);
        g.drawString("to your right you see what it SHOULD look like:", 50, 260);
        g.drawString("If it doesn't, the problem is in the JDK, it's not an iText problem.", 50, 280);
        g.dispose();
        document.close();
    } catch (Exception de) {
        de.printStackTrace();
    }
}

From source file:questions.importpages.NameCard.java

public static void createOneCard() throws DocumentException, IOException {
    Rectangle rect = new Rectangle(Utilities.millimetersToPoints(86.5f), Utilities.millimetersToPoints(55));
    Document document = new Document(rect);
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(CARD));
    writer.setViewerPreferences(PdfWriter.PrintScalingNone);
    document.open();/*  w w  w.  j av a2  s  .c  o m*/
    PdfReader reader = new PdfReader(LOGO);
    Image img = Image.getInstance(writer.getImportedPage(reader, 1));
    img.scaleToFit(rect.getWidth() / 1.5f, rect.getHeight() / 1.5f);
    img.setAbsolutePosition((rect.getWidth() - img.getScaledWidth()) / 2,
            (rect.getHeight() - img.getScaledHeight()) / 2);
    document.add(img);
    document.newPage();
    BaseFont bf = BaseFont.createFont(FONT, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
    Font font = new Font(bf, 12);
    font.setColor(new CMYKColor(1, 0.5f, 0, 0.467f));
    ColumnText column = new ColumnText(writer.getDirectContent());
    Paragraph p;
    p = new Paragraph("Bruno Lowagie\n1T3XT\nbruno@1t3xt.com", font);
    p.setAlignment(Element.ALIGN_CENTER);
    column.addElement(p);
    column.setSimpleColumn(0, 0, rect.getWidth(), rect.getHeight() * 0.75f);
    column.go();
    document.close();
}

From source file:questions.objects.DifferentLeadings.java

public static void main(String[] args) {
    Document document = new Document(PageSize.A7);
    try {/*w w  w .  j a  v a2 s . c  om*/
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        document.open();
        Chunk space = new Chunk(' ');
        String text = "Quick brown fox jumps over the lazy dog.";
        Phrase phrase1 = new Phrase(text, new Font(Font.HELVETICA, 12));
        Phrase phrase2 = new Phrase(new Chunk(text, new Font(Font.TIMES_ROMAN, 24)));
        Phrase phrase3 = new Phrase(text, new Font(Font.COURIER, 8));
        Phrase phrase4 = new Phrase(text, new Font(Font.HELVETICA, 4));
        Paragraph paragraph = new Paragraph();
        paragraph.add(phrase1);
        paragraph.add(space);
        paragraph.add(phrase2);
        paragraph.add(space);
        paragraph.add(phrase3);
        paragraph.add(space);
        paragraph.add(phrase4);
        paragraph.setMultipliedLeading(1.5f);
        paragraph.setAlignment(Element.ALIGN_JUSTIFIED);
        ColumnText column = new ColumnText(writer.getDirectContent());
        column.setSimpleColumn(document.left(), document.bottom(), document.right(), document.top());
        column.addElement(paragraph);
        column.go();
        document.newPage();
        document.add(paragraph);
    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }
    document.close();
}

From source file:questions.objects.NewPageColumns.java

public static void main(String[] args) {

    // step 1//from   ww w  . j a v  a 2 s  . c  om
    Document document = new Document(PageSize.A6);
    try {
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        // step 3
        document.open();
        // step 4
        for (int i = 0; i < 25; i++)
            document.add(new Paragraph("Hello paragraph 1." + i));
        document.newPage();
        ColumnText column = new ColumnText(writer.getDirectContent());
        column.setSimpleColumn(PageSize.A6.getLeft(36), PageSize.A6.getBottom(36), PageSize.A6.getRight(36),
                PageSize.A6.getTop(36));
        for (int i = 0; i < 20; i++)
            column.addElement(new Paragraph("Hello column 1." + i));
        int status = column.go();
        while (ColumnText.hasMoreText(status)) {
            document.newPage();
            column.setYLine(PageSize.A6.getTop(36));
            status = column.go();
        }
        document.newPage();
        for (int i = 0; i < 10; i++)
            column.addElement(new Paragraph("Hello column 2." + i));
        status = column.go();
        while (ColumnText.hasMoreText(status)) {
            document.newPage();
            column.setYLine(PageSize.A6.getTop(36));
            status = column.go();
        }
        document.newPage();
        for (int i = 0; i < 5; i++)
            document.add(new Paragraph("Hello paragraph 2." + i));
    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }
    // step 5
    document.close();
}

From source file:questions.separators.DottedGlue.java

public static void main(String[] args) {
    Document document = new Document();
    try {/*from   w w  w  . j a va 2  s  . c om*/
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        document.open();

        PdfContentByte canvas = writer.getDirectContent();
        canvas.moveTo(document.left(), document.top());
        canvas.lineTo(document.left(), 550);
        canvas.moveTo(document.right(), document.top());
        canvas.lineTo(document.right(), 550);
        canvas.stroke();

        Chunk separator = new Chunk(new DottedLineSeparator());

        // two parts
        Paragraph p1 = new Paragraph();
        p1.add(new Chunk("Chapter 1"));
        p1.add(separator);
        p1.add(new Chunk("p 10"));

        // 3 parts
        Paragraph p2 = new Paragraph();
        p2.add(new Chunk("Chapter 2"));
        p2.add(separator);
        p2.add(new Chunk("x"));
        p2.add(separator);
        p2.add(new Chunk("y"));

        // line ends with separator
        Paragraph p3 = new Paragraph();
        p3.add(new Chunk("Chapter 3"));
        p3.add(separator);

        // line starts with a separator
        Paragraph p4 = new Paragraph();
        p4.add(separator);
        p4.add(new Chunk("chapter 4"));

        // line IS a separator
        Paragraph p5 = new Paragraph();
        p5.add(separator);

        // line IS a separator + leading
        Paragraph p6 = new Paragraph(40);
        p6.add(separator);

        // separator galore
        Paragraph p7 = new Paragraph();
        p7.setAlignment(Element.ALIGN_JUSTIFIED);
        for (int i = 0; i < 10; i++) {
            p7.add(new Chunk("This is a test hippopotamus hippopotamus"));
            if (i % 4 == 0)
                p7.add(" hippopotamus hippopotamus hippopotamus hippopotamus");
            p7.add(separator);
        }

        document.add(p1);
        document.add(p1);
        document.add(p2);
        document.add(p3);
        document.add(p4);
        document.add(p5);
        document.add(p6);
        document.add(p7);

        ColumnText ct = new ColumnText(writer.getDirectContent());
        ct.addElement(p1);
        ct.addElement(p1);
        ct.addElement(p2);
        ct.addElement(p3);
        ct.addElement(p4);
        ct.addElement(p5);
        ct.addElement(p6);
        ct.addElement(p7);
        ct.setSimpleColumn(36, 36, 436, 536);
        ct.go();
        canvas.rectangle(36, 36, 400, 500);
        canvas.stroke();
        document.close();
    } catch (Exception de) {
        de.printStackTrace();
    }
}

From source file:questions.separators.LineSeparator1.java

public static void main(String[] args) {
    Document document = new Document();
    try {//from w  w w .  j a va  2 s .c  om
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        document.open();

        Paragraph separator = new Paragraph(0);
        separator.add(new Chunk(new LineSeparator(1, 80, Color.RED, Element.ALIGN_LEFT, -2)));

        ColumnText column = new ColumnText(writer.getDirectContent());
        for (int i = 0; i < 5; i++) {
            column.addElement(StarSeparators.TEXT);
            column.addElement(separator);
        }
        column.setSimpleColumn(36, 36, 295, 806);
        column.go();
        column.setSimpleColumn(300, 36, 559, 806);
        column.go();
        document.newPage();

        for (int i = 0; i < 10; i++) {
            document.add(StarSeparators.TEXT);
            document.add(separator);
        }
        document.close();
    } catch (Exception de) {
        de.printStackTrace();
    }
}