Search in sources :

Example 6 with DottedLine

use of com.itextpdf.kernel.pdf.canvas.draw.DottedLine in project i7js-highlevel by itext.

the class C07E06_PageLabels method createPdf.

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    PdfPage page = pdf.addNewPage();
    page.setPageLabel(PageLabelNumberingStyle.LOWERCASE_ROMAN_NUMERALS, null);
    Document document = new Document(pdf);
    document.add(new Paragraph().add("Page left blank intentionally"));
    document.add(new AreaBreak());
    document.add(new Paragraph().add("Page left blank intentionally"));
    document.add(new AreaBreak());
    document.add(new Paragraph().add("Page left blank intentionally"));
    document.add(new AreaBreak());
    page = pdf.getLastPage();
    page.setPageLabel(PageLabelNumberingStyle.DECIMAL_ARABIC_NUMERALS, null, 1);
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
    document.setTextAlignment(TextAlignment.JUSTIFIED).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)).setFont(font).setFontSize(11);
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    String name, line;
    Paragraph p;
    boolean title = true;
    int counter = 0;
    List<AbstractMap.SimpleEntry<String, AbstractMap.SimpleEntry<String, Integer>>> toc = new ArrayList<>();
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line);
        p.setKeepTogether(true);
        if (title) {
            name = String.format("title%02d", counter++);
            p.setFont(bold).setFontSize(12).setKeepWithNext(true).setDestination(name);
            title = false;
            document.add(p);
            toc.add(new AbstractMap.SimpleEntry(name, new AbstractMap.SimpleEntry(line, pdf.getNumberOfPages())));
        } else {
            p.setFirstLineIndent(36);
            if (line.isEmpty()) {
                p.setMarginBottom(12);
                title = true;
            } else {
                p.setMarginBottom(0);
            }
            document.add(p);
        }
    }
    document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
    p = new Paragraph().setFont(bold).add("Table of Contents").setDestination("toc");
    document.add(p);
    page = pdf.getLastPage();
    page.setPageLabel(null, "TOC", 1);
    toc.remove(0);
    List<TabStop> tabstops = new ArrayList();
    tabstops.add(new TabStop(580, TabAlignment.RIGHT, new DottedLine()));
    for (AbstractMap.SimpleEntry<String, AbstractMap.SimpleEntry<String, Integer>> entry : toc) {
        AbstractMap.SimpleEntry<String, Integer> text = entry.getValue();
        p = new Paragraph().addTabStops(tabstops).add(text.getKey()).add(new Tab()).add(String.valueOf(text.getValue())).setAction(PdfAction.createGoTo(entry.getKey()));
        document.add(p);
    }
    document.close();
}
Also used : ArrayList(java.util.ArrayList) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) TabStop(com.itextpdf.layout.element.TabStop) AreaBreak(com.itextpdf.layout.element.AreaBreak) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) AbstractMap(java.util.AbstractMap) DottedLine(com.itextpdf.kernel.pdf.canvas.draw.DottedLine) PdfFont(com.itextpdf.kernel.font.PdfFont) FileReader(java.io.FileReader) PdfPage(com.itextpdf.kernel.pdf.PdfPage) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) Tab(com.itextpdf.layout.element.Tab) BufferedReader(java.io.BufferedReader)

Example 7 with DottedLine

use of com.itextpdf.kernel.pdf.canvas.draw.DottedLine in project i7js-highlevel by itext.

the class C07E07_PageLayoutPageMode method createPdf.

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    pdf.getCatalog().setPageLayout(PdfName.TwoColumnRight);
    pdf.getCatalog().setPageMode(PdfName.UseThumbs);
    PdfPage page = pdf.addNewPage();
    page.setPageLabel(PageLabelNumberingStyle.LOWERCASE_ROMAN_NUMERALS, null);
    Document document = new Document(pdf);
    document.add(new Paragraph().add("Page left blank intentionally"));
    document.add(new AreaBreak());
    document.add(new Paragraph().add("Page left blank intentionally"));
    document.add(new AreaBreak());
    document.add(new Paragraph().add("Page left blank intentionally"));
    document.add(new AreaBreak());
    page = pdf.getLastPage();
    page.setPageLabel(PageLabelNumberingStyle.DECIMAL_ARABIC_NUMERALS, null, 1);
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
    document.setTextAlignment(TextAlignment.JUSTIFIED).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)).setFont(font).setFontSize(11);
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    String name, line;
    Paragraph p;
    boolean title = true;
    int counter = 0;
    List<AbstractMap.SimpleEntry<String, AbstractMap.SimpleEntry<String, Integer>>> toc = new ArrayList<>();
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line);
        p.setKeepTogether(true);
        if (title) {
            name = String.format("title%02d", counter++);
            p.setFont(bold).setFontSize(12).setKeepWithNext(true).setDestination(name);
            title = false;
            document.add(p);
            toc.add(new AbstractMap.SimpleEntry(name, new AbstractMap.SimpleEntry(line, pdf.getNumberOfPages())));
        } else {
            p.setFirstLineIndent(36);
            if (line.isEmpty()) {
                p.setMarginBottom(12);
                title = true;
            } else {
                p.setMarginBottom(0);
            }
            document.add(p);
        }
    }
    document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
    p = new Paragraph().setFont(bold).add("Table of Contents").setDestination("toc");
    document.add(p);
    page = pdf.getLastPage();
    page.setPageLabel(null, "TOC", 1);
    toc.remove(0);
    List<TabStop> tabstops = new ArrayList();
    tabstops.add(new TabStop(580, TabAlignment.RIGHT, new DottedLine()));
    for (AbstractMap.SimpleEntry<String, AbstractMap.SimpleEntry<String, Integer>> entry : toc) {
        AbstractMap.SimpleEntry<String, Integer> text = entry.getValue();
        p = new Paragraph().addTabStops(tabstops).add(text.getKey()).add(new Tab()).add(String.valueOf(text.getValue())).setAction(PdfAction.createGoTo(entry.getKey()));
        document.add(p);
    }
    document.close();
}
Also used : ArrayList(java.util.ArrayList) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) TabStop(com.itextpdf.layout.element.TabStop) AreaBreak(com.itextpdf.layout.element.AreaBreak) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) AbstractMap(java.util.AbstractMap) DottedLine(com.itextpdf.kernel.pdf.canvas.draw.DottedLine) PdfFont(com.itextpdf.kernel.font.PdfFont) FileReader(java.io.FileReader) PdfPage(com.itextpdf.kernel.pdf.PdfPage) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) Tab(com.itextpdf.layout.element.Tab) BufferedReader(java.io.BufferedReader)

Example 8 with DottedLine

use of com.itextpdf.kernel.pdf.canvas.draw.DottedLine in project i7js-highlevel by itext.

the class JekyllHydeV5 method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    // Initialize document
    Document document = new Document(pdf);
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
    document.setTextAlignment(TextAlignment.JUSTIFIED).setHyphenation(new HyphenationConfig("en", "uk", 3, 3));
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    LineSeparator separator = new LineSeparator(new DottedLine(2f, 5f));
    separator.setMarginLeft(10);
    separator.setMarginRight(10);
    boolean chapter = false;
    Div div = new Div();
    String line;
    while ((line = br.readLine()) != null) {
        div = new Div().setFont(font).setFontSize(11).setMarginBottom(18);
        div.add(new Paragraph(line).setFont(bold).setFontSize(12).setMarginBottom(0));
        while ((line = br.readLine()) != null) {
            div.add(new Paragraph(line).setMarginBottom(0).setFirstLineIndent(36));
            if (line.isEmpty()) {
                if (chapter) {
                    div.add(separator);
                }
                document.add(div);
                div = new Div();
                chapter = true;
                break;
            }
        }
    }
    document.add(div);
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) LineSeparator(com.itextpdf.layout.element.LineSeparator) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) Div(com.itextpdf.layout.element.Div) DottedLine(com.itextpdf.kernel.pdf.canvas.draw.DottedLine) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader)

Example 9 with DottedLine

use of com.itextpdf.kernel.pdf.canvas.draw.DottedLine in project betca-tpv-spring by miw-upm.

the class PdfTicketBuilder method line.

public PdfTicketBuilder line() {
    DottedLine separator = new DottedLine();
    separator.setGap(LINE_GAP);
    separator.setLineWidth(LINE_WIDTH);
    this.getDocument().add(new LineSeparator(separator));
    return this;
}
Also used : DottedLine(com.itextpdf.kernel.pdf.canvas.draw.DottedLine) LineSeparator(com.itextpdf.layout.element.LineSeparator)

Example 10 with DottedLine

use of com.itextpdf.kernel.pdf.canvas.draw.DottedLine in project i7js-highlevel by itext.

the class C03E05_JekyllHydeTabsV5 method createPdf.

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf, PageSize.A4);
    float[] stops = new float[] { 70, 90, 420, 430, 520 };
    List<TabStop> tabstops = new ArrayList();
    tabstops.add(new TabStop(stops[0], TabAlignment.CENTER, new DottedLine()));
    tabstops.add(new TabStop(stops[1], TabAlignment.LEFT));
    tabstops.add(new TabStop(stops[2], TabAlignment.RIGHT, new SolidLine(0.5f)));
    tabstops.add(new TabStop(stops[3], TabAlignment.LEFT));
    TabStop anchor = new TabStop(stops[4], TabAlignment.ANCHOR, new DashedLine());
    anchor.setTabAnchor(' ');
    tabstops.add(anchor);
    PdfCanvas pdfCanvas = new PdfCanvas(pdf.addNewPage());
    for (int i = 0; i < stops.length; i++) {
        pdfCanvas.moveTo(document.getLeftMargin() + stops[i], 0);
        pdfCanvas.lineTo(document.getLeftMargin() + stops[i], 842);
    }
    pdfCanvas.stroke();
    List<List<String>> resultSet = CsvTo2DList.convert(SRC, "|");
    for (List<String> record : resultSet) {
        Paragraph p = new Paragraph();
        p.addTabStops(tabstops);
        p.add(record.get(0).trim()).add(new Tab()).add(record.get(1).trim()).add(new Tab()).add(record.get(2).trim()).add(new Tab()).add(record.get(3).trim()).add(new Tab()).add(record.get(4).trim()).add(new Tab()).add(record.get(5).trim() + " \'");
        document.add(p);
    }
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) ArrayList(java.util.ArrayList) TabStop(com.itextpdf.layout.element.TabStop) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) Tab(com.itextpdf.layout.element.Tab) DottedLine(com.itextpdf.kernel.pdf.canvas.draw.DottedLine) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) SolidLine(com.itextpdf.kernel.pdf.canvas.draw.SolidLine) CsvTo2DList(com.itextpdf.highlevel.util.CsvTo2DList) ArrayList(java.util.ArrayList) List(java.util.List) DashedLine(com.itextpdf.kernel.pdf.canvas.draw.DashedLine)

Aggregations

DottedLine (com.itextpdf.kernel.pdf.canvas.draw.DottedLine)12 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)10 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)10 Document (com.itextpdf.layout.Document)10 Paragraph (com.itextpdf.layout.element.Paragraph)10 Tab (com.itextpdf.layout.element.Tab)9 TabStop (com.itextpdf.layout.element.TabStop)9 ArrayList (java.util.ArrayList)9 PdfFont (com.itextpdf.kernel.font.PdfFont)8 HyphenationConfig (com.itextpdf.layout.hyphenation.HyphenationConfig)8 BufferedReader (java.io.BufferedReader)8 FileReader (java.io.FileReader)8 AreaBreak (com.itextpdf.layout.element.AreaBreak)7 SimpleEntry (java.util.AbstractMap.SimpleEntry)5 PdfPage (com.itextpdf.kernel.pdf.PdfPage)3 LineSeparator (com.itextpdf.layout.element.LineSeparator)3 CsvTo2DList (com.itextpdf.highlevel.util.CsvTo2DList)2 IEventHandler (com.itextpdf.kernel.events.IEventHandler)2 PdfCanvas (com.itextpdf.kernel.pdf.canvas.PdfCanvas)2 DashedLine (com.itextpdf.kernel.pdf.canvas.draw.DashedLine)2