⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inserttoc.java

📁 Insert table of contents: Create some pages, assign labels to them and insert a table of conten
💻 JAVA
字号:
/* $Id: insert_toc.java,v 1.10 2007/10/30 16:16:34 katja Exp $


 * Insert table of contents:


 * Create some pages, assign labels to them and insert a table of contents at


 * the beginning of the document


 *


 * Pages are created in a different chronological order than the order in


 * which they appear in the document. Using page groups create several pages


 * and provide them with page labels. After creating the last page, go back


 * to the start of the document and insert the pages for the table of contents.


 *


 * Required software: PDFlib Lite/PDFlib/PDFlib+PDI/PPS 7


 * Required data: none


 */


package com.pdflib.cookbook.pdflib.pagination;





import com.pdflib.pdflib;


import com.pdflib.PDFlibException;





public class insert_toc


{


    public static void main (String argv[])


    {


    /* This is where the data files are. Adjust as necessary. */


    String searchpath = "../input";


    String outfile = "insert_toc.pdf";


    String title = "Insert Table of Contents";





    pdflib p = null;


    int pageno, font, docsize = 0;





    /* Using the "groups" option, define several page groups for the


     * title (title), the table of contents (toc), the individual chapters


     * (body), and the index (index). List them in the order they will appear


     * in the document. Using the "labels" option, assign a page label to each


     * page group.


     */


    String optlist =


        "groups={title toc content index} " +


        "labels={{group=title prefix=title} " +


                "{group=toc prefix={toc } start=1 style=r} " +


                "{group=content start=1 style=D} " +


                "{group=index prefix={index } start=1 style=r}}";





    try {


        p = new pdflib();





        p.set_parameter("SearchPath", searchpath);





        /* This means we must check return values of load_font() etc. */


        p.set_parameter("errorpolicy", "return");





        if (p.begin_document(outfile, optlist) == -1)


            throw new Exception("Error: " + p.get_errmsg());





        p.set_info("Creator", "PDFlib Cookbook");


        p.set_info("Title", title + " $Revision: 1.10 $");





        /* For PDFlib Lite: change "unicode" to "winansi" */


        font = p.load_font("Helvetica-Bold", "unicode", "");


        if (font == -1)


            throw new Exception("Error: " + p.get_errmsg());





        /* Create a page in the page group "title" */


        p.begin_page_ext(595, 842, "group title");


        docsize++;


        p.fit_textline("Title", 50, 700, "font=" + font + " fontsize=36");


        p.end_page_ext("");





        /* Loop over all pages in the page group "content" */


        for (pageno = 1; pageno <= 5; pageno++)


        {


            p.begin_page_ext(595, 842, "group content");


            docsize++;


            p.fit_textline("Chapter " + pageno, 50, 700, "font=" + font +


                " fontsize=36");


            p.end_page_ext("");


        }





        /* Insert two pages in the page group "index" */


        p.begin_page_ext(595, 842, "group index");


        docsize++;


        p.fit_textline("Index I", 50, 700, "font=" + font + " fontsize=36");


        p.end_page_ext("");





        p.begin_page_ext(595, 842, "group index");


        docsize++;


        p.fit_textline("Index II", 50, 700, "font=" + font + " fontsize=36");


        p.end_page_ext("");





        /* Insert two pages in the page group "toc" for a table of contents */


        p.begin_page_ext(595, 842, "group toc");


        docsize++;


        p.fit_textline("Table of Contents I", 50, 700, "font=" + font +


            " fontsize=36");


        p.end_page_ext("");





        p.begin_page_ext(595, 842, "group toc");


        docsize++;


        p.fit_textline("Table of Contents II", 50, 700, "font=" + font +


            " fontsize=36");


        p.fit_textline("for a Document of " + docsize + " Pages.", 50, 600,


            "font=" + font + " fontsize=24");


        p.end_page_ext("");





        p.end_document("");





        } catch (PDFlibException e){


            System.err.print("PDFlib exception occurred:\n");


            System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +


                ": " + e.get_errmsg() + "\n");


        } catch (Exception e) {


            System.err.println(e.getMessage());


        } finally {


            if (p != null) {


                p.delete();


            }


        }


    }


}


 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -