Как добавить оглавление с номерами страниц в RTF - PullRequest
0 голосов
/ 03 января 2019

Я успешно сгенерировал оглавление, но как добавить соответствующие номера страниц. Я использую RtfWriter2 iText для создания документов.

Я пробовал код ниже, чтобы добавить оглавление, но не повезло.

ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Document doc = new Document();
        RtfWriter2 writer2 = RtfWriter2.getInstance(doc, baos);
        try {
        writer2.setAutogenerateTOCEntries(true);
        Table headerTable = new Table(3);
        headerTable.addCell("Test Cell 1");
        headerTable.addCell("Test Cell 2");
        headerTable.addCell("Test Cell 3");
        HeaderFooter header = new RtfHeaderFooter(headerTable);
        RtfHeaderFooterGroup footer = new RtfHeaderFooterGroup();
        doc.open();

        Paragraph p = new Paragraph();
        p.add(new RtfTableOfContents("UPDATE ME!"));
        doc.add(p);

        p = new Paragraph("", new RtfFont("Staccato222 BT"));
        p.add(new Chunk("Hello! "));
        p.add(new Chunk("How do you do?"));
        doc.add(p);
        p.setAlignment(Element.ALIGN_RIGHT);
        doc.add(p);

        Chunk c = new Chunk("");
        c.setNewPage();
        doc.add(c);

        for (int i = 0; i < 300; i++) {
            doc.add(new Paragraph( "Dummy line to get multi-page document. Line " + (i + 1)));
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
        doc.close();
        return baos;

Ниже вывод, который я пытаюсь получить:

Содержание

History 1
Intro  2
...