Search in sources :

Example 26 with HyphenationConfig

use of com.itextpdf.layout.hyphenation.HyphenationConfig in project i7js-highlevel by itext.

the class JekyllHydeV6 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, PageSize.A4);
    // Set column parameters
    float offSet = 27;
    float gutter = 18;
    float columnWidth = (PageSize.A4.getWidth() - offSet * 2) / 3 - gutter;
    float columnHeight = PageSize.A4.getHeight() - offSet * 2;
    // Define column areas
    Rectangle[] columns = { new Rectangle(offSet + gutter * 0.5f, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth + gutter * 1.5f, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth * 2 + gutter * 2.5f, offSet, columnWidth, columnHeight) };
    document.setRenderer(new ColumnDocumentRenderer(document, columns));
    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));
    boolean chapter = false;
    Div div = new Div();
    AreaBreak areaBreak = new AreaBreak(AreaBreakType.NEXT_AREA);
    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()) {
                document.add(div);
                if (chapter) {
                    document.add(areaBreak);
                }
                div = new Div();
                chapter = true;
                break;
            }
        }
    }
    document.add(div);
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) Rectangle(com.itextpdf.kernel.geom.Rectangle) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) AreaBreak(com.itextpdf.layout.element.AreaBreak) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) Div(com.itextpdf.layout.element.Div) ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader)

Example 27 with HyphenationConfig

use of com.itextpdf.layout.hyphenation.HyphenationConfig in project i7js-highlevel by itext.

the class CanvasLayoutMethods method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    PdfPage page = pdf.addNewPage();
    PdfCanvas pdfCanvas = new PdfCanvas(page);
    Rectangle rectangle = new Rectangle(36, 36, 523, 770);
    Canvas canvas = new Canvas(pdfCanvas, rectangle);
    Paragraph p;
    p = new Paragraph("Testing layout methods");
    canvas.add(p);
    canvas.setTextAlignment(TextAlignment.CENTER);
    p = new Paragraph("Testing layout methods");
    canvas.add(p);
    p = new Paragraph();
    for (int i = 0; i < 6; i++) p.add("singing supercalifragilisticexpialidocious ");
    canvas.add(p);
    canvas.setHyphenation(new HyphenationConfig("en", "uk", 3, 3));
    canvas.add(p);
    canvas.setTextAlignment(TextAlignment.JUSTIFIED);
    canvas.add(p);
    canvas.setHyphenation(null);
    canvas.setSplitCharacters(new ISplitCharacters() {

        public boolean isSplitCharacter(GlyphLine text, int glyphPos) {
            if (!text.get(glyphPos).hasValidUnicode()) {
                return false;
            }
            int charCode = text.get(glyphPos).getUnicode();
            return (charCode < ' ' || charCode == 'i');
        }
    });
    canvas.add(p);
    canvas.setSplitCharacters(new DefaultSplitCharacters());
    canvas.setTextAlignment(TextAlignment.LEFT);
    canvas.add(p);
    canvas.setWordSpacing(10);
    canvas.add(p);
    canvas.setCharacterSpacing(5);
    canvas.add(p);
    // Close document
    pdf.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) DefaultSplitCharacters(com.itextpdf.layout.splitting.DefaultSplitCharacters) Canvas(com.itextpdf.layout.Canvas) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) Rectangle(com.itextpdf.kernel.geom.Rectangle) GlyphLine(com.itextpdf.io.font.otf.GlyphLine) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) PdfPage(com.itextpdf.kernel.pdf.PdfPage) ISplitCharacters(com.itextpdf.layout.splitting.ISplitCharacters) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph)

Example 28 with HyphenationConfig

use of com.itextpdf.layout.hyphenation.HyphenationConfig in project i7js-highlevel by itext.

the class DocumentLayoutMethods 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);
    Paragraph p;
    p = new Paragraph("Testing layout methods");
    document.add(p);
    document.setTextAlignment(TextAlignment.CENTER);
    p = new Paragraph("Testing layout methods");
    document.add(p);
    p = new Paragraph();
    for (int i = 0; i < 6; i++) p.add("singing supercalifragilisticexpialidocious ");
    document.add(p);
    document.setHyphenation(new HyphenationConfig("en", "uk", 3, 3));
    document.add(p);
    document.setTextAlignment(TextAlignment.JUSTIFIED);
    document.add(p);
    document.setHyphenation(null);
    document.setSplitCharacters(new ISplitCharacters() {

        public boolean isSplitCharacter(GlyphLine text, int glyphPos) {
            if (!text.get(glyphPos).hasValidUnicode()) {
                return false;
            }
            int charCode = text.get(glyphPos).getUnicode();
            return (charCode < ' ' || charCode == 'i');
        }
    });
    document.add(p);
    document.setSplitCharacters(new DefaultSplitCharacters());
    document.setTextAlignment(TextAlignment.LEFT);
    document.add(p);
    document.setWordSpacing(10);
    document.add(p);
    document.setCharacterSpacing(5);
    document.add(p);
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) DefaultSplitCharacters(com.itextpdf.layout.splitting.DefaultSplitCharacters) GlyphLine(com.itextpdf.io.font.otf.GlyphLine) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) ISplitCharacters(com.itextpdf.layout.splitting.ISplitCharacters) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph)

Example 29 with HyphenationConfig

use of com.itextpdf.layout.hyphenation.HyphenationConfig in project i7js-highlevel by itext.

the class JekyllHydeV7 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, PageSize.A4);
    // Set column parameters
    float offSet = 27;
    float gutter = 18;
    float columnWidth = (PageSize.A4.getWidth() - offSet * 2) / 3 - gutter;
    float columnHeight = PageSize.A4.getHeight() - offSet * 2;
    // Define column areas
    Rectangle[] columns = { new Rectangle(offSet + gutter * 0.5f, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth + gutter * 1.5f, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth * 2 + gutter * 2.5f, offSet, columnWidth, columnHeight) };
    document.setRenderer(new ColumnDocumentRenderer(document, columns));
    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));
    boolean chapter = false;
    Div div = new Div();
    AreaBreak areaBreak = new AreaBreak(AreaBreakType.NEXT_PAGE);
    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()) {
                document.add(div);
                if (chapter) {
                    document.add(areaBreak);
                }
                div = new Div();
                chapter = true;
                break;
            }
        }
    }
    document.add(div);
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) Rectangle(com.itextpdf.kernel.geom.Rectangle) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) AreaBreak(com.itextpdf.layout.element.AreaBreak) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) Div(com.itextpdf.layout.element.Div) ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader)

Example 30 with HyphenationConfig

use of com.itextpdf.layout.hyphenation.HyphenationConfig in project i7js-highlevel by itext.

the class C06E10_TOC_OutlinesNames method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    pdf.getCatalog().setPageMode(PdfName.UseOutlines);
    // 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)).setFont(font).setFontSize(11);
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    String name, line;
    Paragraph p;
    boolean title = true;
    int counter = 0;
    PdfOutline outline = null;
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line);
        p.setKeepTogether(true);
        if (title) {
            name = String.format("title%02d", counter++);
            outline = createOutline(outline, pdf, line, name);
            p.setFont(bold).setFontSize(12).setKeepWithNext(true).setDestination(name);
            title = false;
            document.add(p);
        } else {
            p.setFirstLineIndent(36);
            if (line.isEmpty()) {
                p.setMarginBottom(12);
                title = true;
            } else {
                p.setMarginBottom(0);
            }
            document.add(p);
        }
    }
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) FileReader(java.io.FileReader) PdfString(com.itextpdf.kernel.pdf.PdfString) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) PdfOutline(com.itextpdf.kernel.pdf.PdfOutline)

Aggregations

PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)32 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)32 HyphenationConfig (com.itextpdf.layout.hyphenation.HyphenationConfig)32 Document (com.itextpdf.layout.Document)31 PdfFont (com.itextpdf.kernel.font.PdfFont)29 Paragraph (com.itextpdf.layout.element.Paragraph)29 BufferedReader (java.io.BufferedReader)25 FileReader (java.io.FileReader)25 AreaBreak (com.itextpdf.layout.element.AreaBreak)17 DottedLine (com.itextpdf.kernel.pdf.canvas.draw.DottedLine)8 Div (com.itextpdf.layout.element.Div)8 Rectangle (com.itextpdf.kernel.geom.Rectangle)7 Tab (com.itextpdf.layout.element.Tab)7 TabStop (com.itextpdf.layout.element.TabStop)7 ArrayList (java.util.ArrayList)7 ColumnDocumentRenderer (com.itextpdf.layout.ColumnDocumentRenderer)5 Style (com.itextpdf.layout.Style)5 SimpleEntry (java.util.AbstractMap.SimpleEntry)5 PdfPage (com.itextpdf.kernel.pdf.PdfPage)4 SolidBorder (com.itextpdf.layout.borders.SolidBorder)4