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

来源:互联网 发布:vue.js权威指南 微盘 编辑:程序博客网 时间:2024/06/05 10:25

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.comdocument.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));//endtry {//为该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内容性更加丰富,可读性增强。



原创粉丝点击