需求: 有一个pdf文件source.pdf , 有这个pdf的目录数据Map catalogs , 将catalog作为目录添加到source.pdf文件中 ,且可以点击目录跳转到指定页
描述:原本的source.pdf是没有目录的 , 且catalog目录数据是用别的方法读出来的或者自定义的
工具代码如下:
//需要导入的包
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.draw.DottedLine;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Tab;
import com.itextpdf.layout.element.TabStop;
import com.itextpdf.layout.element.Text;
import com.itextpdf.layout.property.TabAlignment;
import com.itextpdf.layout.property.TextAlignment;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;
/**
* 生成一个带有目录(可跳转)的pdf文件(支持中文).
* 如果目录两页,请为pdf多留出一页空白内容.
* 此方法不能生成书签.
*
* @param sourceFile 源pdf文件
* @param targetFile 带有目录(可跳转)的pdf文件
* @param catalogs 目录数据map
* @param catalogTi