Search in sources :

Example 1 with PdfOutline

use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.

the class C06E11_TOC_OutlinesDestinations 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 line;
    Paragraph p;
    boolean title = true;
    PdfOutline outline = null;
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line);
        p.setKeepTogether(true);
        if (title) {
            outline = createOutline(outline, pdf, line, p);
            p.setFont(bold).setFontSize(12).setKeepWithNext(true);
            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) 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)

Example 2 with PdfOutline

use of com.itextpdf.kernel.pdf.PdfOutline 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)

Example 3 with PdfOutline

use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.

the class C06E10_TOC_OutlinesNames method createOutline.

public PdfOutline createOutline(PdfOutline outline, PdfDocument pdf, String title, String name) {
    if (outline == null) {
        outline = pdf.getOutlines(false);
        outline = outline.addOutline(title);
        outline.addDestination(PdfDestination.makeDestination(new PdfString(name)));
        return outline;
    }
    PdfOutline kid = outline.addOutline(title);
    kid.addDestination(PdfDestination.makeDestination(new PdfString(name)));
    return outline;
}
Also used : PdfString(com.itextpdf.kernel.pdf.PdfString) PdfOutline(com.itextpdf.kernel.pdf.PdfOutline)

Example 4 with PdfOutline

use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.

the class C06E12_Outlines method createPdf.

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    pdf.addNewPage();
    pdf.getCatalog().setPageMode(PdfName.UseOutlines);
    PdfOutline root = pdf.getOutlines(false);
    List<List<String>> resultSet = CsvTo2DList.convert(SRC, "|");
    resultSet.remove(0);
    for (List<String> record : resultSet) {
        PdfOutline movie = root.addOutline(record.get(2));
        PdfOutline imdb = movie.addOutline("Link to IMDB");
        imdb.setColor(ColorConstants.BLUE);
        imdb.setStyle(PdfOutline.FLAG_BOLD);
        String url = String.format("http://www.imdb.com/title/tt%s", record.get(0));
        imdb.addAction(PdfAction.createURI(url));
        PdfOutline info = movie.addOutline("More info:");
        info.setOpen(false);
        info.setStyle(PdfOutline.FLAG_ITALIC);
        PdfOutline director = info.addOutline("Directed by " + record.get(3));
        director.setColor(ColorConstants.RED);
        PdfOutline place = info.addOutline("Produced in " + record.get(4));
        place.setColor(ColorConstants.MAGENTA);
        PdfOutline year = info.addOutline("Released in " + record.get(1));
        year.setColor(ColorConstants.DARK_GRAY);
    }
    pdf.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) CsvTo2DList(com.itextpdf.highlevel.util.CsvTo2DList) List(java.util.List) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) PdfOutline(com.itextpdf.kernel.pdf.PdfOutline)

Aggregations

PdfOutline (com.itextpdf.kernel.pdf.PdfOutline)4 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)3 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)3 PdfFont (com.itextpdf.kernel.font.PdfFont)2 PdfString (com.itextpdf.kernel.pdf.PdfString)2 Document (com.itextpdf.layout.Document)2 Paragraph (com.itextpdf.layout.element.Paragraph)2 HyphenationConfig (com.itextpdf.layout.hyphenation.HyphenationConfig)2 BufferedReader (java.io.BufferedReader)2 FileReader (java.io.FileReader)2 CsvTo2DList (com.itextpdf.highlevel.util.CsvTo2DList)1 List (java.util.List)1