Search in sources :

Example 1 with ISplitCharacters

use of com.itextpdf.layout.splitting.ISplitCharacters 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 2 with ISplitCharacters

use of com.itextpdf.layout.splitting.ISplitCharacters 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)

Aggregations

GlyphLine (com.itextpdf.io.font.otf.GlyphLine)2 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)2 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)2 Paragraph (com.itextpdf.layout.element.Paragraph)2 HyphenationConfig (com.itextpdf.layout.hyphenation.HyphenationConfig)2 DefaultSplitCharacters (com.itextpdf.layout.splitting.DefaultSplitCharacters)2 ISplitCharacters (com.itextpdf.layout.splitting.ISplitCharacters)2 Rectangle (com.itextpdf.kernel.geom.Rectangle)1 PdfPage (com.itextpdf.kernel.pdf.PdfPage)1 PdfCanvas (com.itextpdf.kernel.pdf.canvas.PdfCanvas)1 Canvas (com.itextpdf.layout.Canvas)1 Document (com.itextpdf.layout.Document)1