Search in sources :

Example 11 with HyphenationConfig

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

the class ParagraphProperties 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;
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    Style style = new Style();
    style.setBackgroundColor(ColorConstants.YELLOW);
    p = getNewParagraphInstance().addStyle(style).setBorder(new SolidBorder(0.5f)).setDestination("Top");
    document.add(p);
    p = getNewParagraphInstance();
    p.setBackgroundColor(ColorConstants.GRAY).setWidth(150).setHorizontalAlignment(HorizontalAlignment.CENTER).setTextAlignment(TextAlignment.CENTER);
    document.add(p);
    document.add(getNewParagraphInstance().setRotationAngle(Math.PI / 18));
    document.add(getNewParagraphInstance().setWidth(150).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)));
    document.add(getNewParagraphInstance().setHeight(120).setVerticalAlignment(VerticalAlignment.BOTTOM).setBackgroundColor(ColorConstants.YELLOW).setRelativePosition(10, 10, 50, 10));
    document.add(getNewParagraphInstance().setWidth(UnitValue.createPercentValue(80)).setFont(font).setFontSize(8).setFontColor(ColorConstants.RED));
    document.add(new AreaBreak());
    document.add(getNewParagraphInstance().setFixedPosition(100, 400, 350).setAction(PdfAction.createGoTo("Top")));
    document.add(new AreaBreak());
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.YELLOW).setMarginBottom(10));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.LIGHT_GRAY).setPaddingLeft(20).setPaddingRight(50));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.YELLOW));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.LIGHT_GRAY));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.YELLOW));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.LIGHT_GRAY).setMargin(50).setPadding(30));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.YELLOW));
    document.add(getNewParagraphInstance().setBackgroundColor(ColorConstants.LIGHT_GRAY));
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfFont(com.itextpdf.kernel.font.PdfFont) Style(com.itextpdf.layout.Style) 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) SolidBorder(com.itextpdf.layout.borders.SolidBorder)

Example 12 with HyphenationConfig

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

the class C07E03_PageXofY method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    pdf.addEventHandler(PdfDocumentEvent.START_PAGE, new Header("The Strange Case of Dr. Jekyll and Mr. Hyde"));
    PageXofY event = new PageXofY(pdf);
    pdf.addEventHandler(PdfDocumentEvent.END_PAGE, event);
    // 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));
    String line;
    Div div = new Div();
    while ((line = br.readLine()) != null) {
        document.add(new Paragraph(line).setFont(bold).setFontSize(12).setMarginBottom(0).setKeepWithNext(true));
        div = new Div().setFont(font).setFontSize(11).setMarginBottom(18);
        while ((line = br.readLine()) != null) {
            div.add(new Paragraph(line).setMarginBottom(0).setFirstLineIndent(36).setMultipliedLeading(1.2f));
            if (line.isEmpty()) {
                document.add(div);
                break;
            }
        }
    }
    document.add(div);
    event.writeTotal(pdf);
    // Close document
    document.close();
}
Also used : Div(com.itextpdf.layout.element.Div) 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) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph)

Example 13 with HyphenationConfig

use of com.itextpdf.layout.hyphenation.HyphenationConfig 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 14 with HyphenationConfig

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

the class C07E02_TextWatermark method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new TextWatermark());
    // 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));
    String line;
    Div div = new Div();
    while ((line = br.readLine()) != null) {
        document.add(new Paragraph(line).setFont(bold).setFontSize(12).setMarginBottom(0).setKeepWithNext(true));
        div = new Div().setFont(font).setFontSize(11).setMarginBottom(18);
        while ((line = br.readLine()) != null) {
            div.add(new Paragraph(line).setMarginBottom(0).setFirstLineIndent(36).setMultipliedLeading(1.2f));
            if (line.isEmpty()) {
                document.add(div);
                break;
            }
        }
    }
    document.add(div);
    // Close document
    document.close();
}
Also used : Div(com.itextpdf.layout.element.Div) 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) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph)

Example 15 with HyphenationConfig

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

the class DivProperties 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);
    Style style = new Style();
    style.setBackgroundColor(ColorConstants.YELLOW).setBorder(new SolidBorder(0.5f));
    document.add(createNewDiv().addStyle(style).setWidth(350).setHorizontalAlignment(HorizontalAlignment.CENTER).setTextAlignment(TextAlignment.CENTER).setDestination("Top"));
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    document.add(createNewDiv().setRotationAngle(Math.PI / 18).setFont(font).setFontSize(8).setFontColor(ColorConstants.RED));
    document.add(createNewDiv().setWidth(350).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)).setKeepWithNext(true));
    document.add(createNewDiv().setWidth(UnitValue.createPercentValue(70)).setKeepTogether(true));
    document.add(createNewDiv().setHeight(350).setBackgroundColor(ColorConstants.YELLOW).setAction(PdfAction.createGoTo("Top")).setRelativePosition(10, 10, 50, 10));
    document.add(new AreaBreak());
    document.add(createNewDiv().setFixedPosition(100, 400, 350));
    document.add(new AreaBreak());
    document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW).setMarginBottom(10));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY).setPaddingLeft(20).setPaddingRight(50));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY).setMargin(50).setPadding(30));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW));
    document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY));
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfFont(com.itextpdf.kernel.font.PdfFont) Style(com.itextpdf.layout.Style) 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) SolidBorder(com.itextpdf.layout.borders.SolidBorder)

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