iText制作PDF文件 学习笔记 (三)

iText制作PDF文件  

(三)
锚点、列表和注释

锚点:
package com.java.pdf.third;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import com.itextpdf.text.Anchor;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.pdf.PdfWriter;

/**
 * 创建日期:2017-10-9上午10:16:10
 * 修改日期:
 * 作者:ttan
 * 描述:锚点
 */
public class Pdf_setAnchor {
	public static void main(String[] args) {
		Document document = new Document();
		//锚点
		Anchor anchor = new Anchor("Super",FontFactory.getFont(
				FontFactory.TIMES_ROMAN, 24,Font.UNDERLINE,new BaseColor(0,0,255)));
		//设置跳转地址
		anchor.setReference("https://www.baidu.com");
		//设置名字
		anchor.setName("baidu");
		
		Anchor anchor1 = new Anchor("go Baidu",FontFactory.getFont(
				FontFactory.HELVETICA, 24,Font.UNDEFINED,new BaseColor(0,0,144)));
		//调到名字为baidu的那个锚点  ,在Name前面加上#号,可跳转。
		anchor1.setReference("#baidu");
		try {
			//为该Document创建一个Writer实例
			PdfWriter.getInstance(document, new FileOutputStream("setAnchor.pdf"));
			document.open();
			//添加锚点  链接地址为 www.baidu.com
			document.add(anchor);
			//新建一页
			document.newPage();
			//添加锚点 链接到Name为baidu的锚点
			document.add(anchor1);		
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (DocumentException e) {
			e.printStackTrace();
		}finally{
			document.close();
		}
	}
}

列表:
package com.java.pdf.third;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.List;
import com.itextpdf.text.ListItem;
import com.itextpdf.text.pdf.PdfWriter;

/**
 * 创建日期:2017-10-9上午10:51:40
 * 修改日期:
 * 作者:ttan
 * 描述:列表
 */
public class Pdf_setList {
	public static void main(String[] args) {
		Document document = new Document();
		//begin 排序的列表
		List list = new List(true,20);
		list.add(new ListItem("first.."));
		list.add(new ListItem("second.."));
		list.add(new ListItem("third.."));
		//end
		
		//begin 不排序列表
		List list1 = new List(false,10);
		list1.add(new ListItem("Who I am"));
		list1.add(new ListItem("Where We go"));
		//修改列表符号为 *
		//list1.setListSymbol(new Chunk("*"));
		//修改列表符号为图片
		//list1.setListSymbol(new Chunk(Image.getInstance("haha.png"),0,0));
		//end	
		try {
			//为该Document创建一个Writer实例
			PdfWriter.getInstance(document, new FileOutputStream("setList.pdf"));
			document.open();
			document.add(list);
			document.add(list1);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (DocumentException e) {
			e.printStackTrace();
		}finally{
			document.close();
		}
	}
}

注释:
package com.java.pdf.third;

import java.io.FileOutputStream;
import java.net.URL;

import com.itextpdf.text.Annotation;
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfWriter;

/**
 * 创建日期:2017-10-9上午11:09:26
 * 修改日期:
 * 作者:ttan
 * 描述:注释
 */
public class Pdf_setAnnotation {
	public static void main(String[] args) {
		Document document = new Document();
		try {
			//注释
			Annotation an = new Annotation("anthors","Hello guys!");
			//外部链接注释
			Annotation an1 = new Annotation(100f,700f,200f,800f,new URL("https://www.baidu.com"));
			PdfWriter.getInstance(document, new FileOutputStream("setAnnotation.pdf"));
			document.open();
			document.add(an);
			document.add(an1);
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			document.close();
		}
	}
}

总结:锚点、列表和注释在适当的地方使用,使得PDF内容性更加丰富,可读性增强。



猜你喜欢

转载自blog.csdn.net/qq_37421862/article/details/78180918