Text hyphenation

This is a code example of iText PDF, discover more.

5th November 2015
admin-marketing

This example was written in answer to the question How to hyphenate text?

HyphenationExample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/**
 * Example written by Bruno Lowagie in answer to:
 * http://stackoverflow.com/questions/20119709/itext-hyphen-in-table-cell
 * 
 * We create a table with and we add a word that needs to be hyphenated.
 */
package sandbox.tables;
 
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.HyphenationAuto;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.hyphenation.Hyphenation;
import com.itextpdf.text.pdf.hyphenation.Hyphenator;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
 
import sandbox.WrapToTest;
 
@WrapToTest
public class HyphenationExample {
 
    public static final String DEST = "results/tables/hyphenation_table.pdf";
 
    public static void main(String[] args) throws IOException,
            DocumentException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new HyphenationExample().createPdf(DEST);
    }
    
    public void createPdf(String dest) throws IOException, DocumentException {
        Hyphenator h = new Hyphenator("de", "DE", 2, 2);
        Hyphenation s = h.hyphenate("Leistungsscheinziffer"); 
        System.out.println(s);
 
        Document document = new Document(PageSize.A4, 0, 0, 0, 0);
        PdfWriter.getInstance(document, new FileOutputStream(dest));
        document.open();
        
        PdfPTable table = new PdfPTable(1);
        table.setWidthPercentage(10);
        Chunk chunk = new Chunk("Leistungsscheinziffer");
        chunk.setHyphenation(new HyphenationAuto("de", "DE", 2,2));
        table.addCell(new Phrase(chunk));
        Phrase phrase = new Phrase();
        phrase.setHyphenation(new HyphenationAuto("de", "DE", 2,2));
        phrase.add(new Chunk("Leistungsscheinziffer"));
        table.addCell(phrase);
        document.add(table);
        document.close();
    }
}


Contact

Still have questions? 

We're happy to answer your questions. Reach out to us and we'll get back to you shortly.

Contact us
Stay updated

Join 11,000+ subscribers and become an iText PDF expert by staying up to date with our new products, updates, tips, technical solutions and happenings.

Subscribe Now