📄 inserttoc.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 + -