itext生成PDF設(shè)置頁(yè)眉頁(yè)腳的實(shí)例詳解
itext生成PDF設(shè)置頁(yè)眉頁(yè)腳的實(shí)例詳解
實(shí)例代碼:
/**
* ITextTest
* iText生成PDF加入列表,注釋等內(nèi)容,同時(shí)設(shè)置頁(yè)眉和頁(yè)腳及頁(yè)碼等。
*/
package com.labci.itext.test;
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Annotation;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.List;
import com.lowagie.text.ListItem;
import com.lowagie.text.Phrase;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
/**
* @author Bill Tu(tujiyue/iwtxokhtd)
* Jun 6, 2011[4:10:35 PM]
*
*/
public class ITextList {
private final static String RESULT_FILE="itext_list.pdf";
public static void main(String []args){
Document doc=new Document();
try {
PdfWriter.getInstance(doc, new FileOutputStream(RESULT_FILE));
BaseFont fontChinese=null;
try {
fontChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);//設(shè)置中文字體
} catch (IOException e) {
e.printStackTrace();
}
Font chinese = new Font(fontChinese, 10, Font.NORMAL);
/**
* HeaderFooter的第2個(gè)參數(shù)為非false時(shí)代表打印頁(yè)碼
* 頁(yè)眉頁(yè)腳中也可以加入圖片,并非只能是文字
*/
HeaderFooter header=new HeaderFooter(new Phrase("這僅僅是個(gè)頁(yè)眉,頁(yè)碼在頁(yè)腳處",chinese),false);
//設(shè)置是否有邊框等
// header.setBorder(Rectangle.NO_BORDER);
header.setBorder(Rectangle.BOTTOM);
header.setAlignment(1);
header.setBorderColor(Color.red);
doc.setHeader(header);
HeaderFooter footer=new HeaderFooter(new Phrase("-",chinese),new Phrase("-",chinese));
/**
* 0是靠左
* 1是居中
* 2是居右
*/
footer.setAlignment(1);
footer.setBorderColor(Color.red);
footer.setBorder(Rectangle.BOX);
doc.setFooter(footer);
/**
* 頁(yè)眉頁(yè)腳的設(shè)置一定要在open前設(shè)置好
*/
doc.open();
/**
* true:代表要排序,10代表序號(hào)與文字之間的間距
* false:代表不排序,則文字前的符號(hào)為"-"
*/
List itextList=new List(true,10);
/**
* 也可以改變列表的符號(hào)[可選]
*
$$$
* 要改變列表符號(hào)時(shí),上面的List構(gòu)造方法第一參數(shù)值必須為false
*
$$$
* 可以使用字符串,Chunk,Image等作列表符號(hào),如下
*/
//itextList.setListSymbol("*");
ListItem firstItem=new ListItem("first paragraph");
ListItem secondItem=new ListItem("second paragraph");
ListItem thirdItem=new ListItem("third paragraph");
itextList.add(firstItem);
itextList.add(secondItem);
itextList.add(thirdItem);
doc.add(itextList);
//添加注釋,注釋有標(biāo)題和內(nèi)容,注釋可以是文本,內(nèi)部鏈接,外部鏈接,圖片等
Annotation annotation=new Annotation("what's this?","it's a tree and it is not a big");
doc.add(annotation);
doc.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
工程結(jié)構(gòu)圖:



如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringIOC DI循環(huán)依賴實(shí)例詳解
這篇文章主要介紹了SpringIOC——DI循環(huán)依賴,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
詳解springboot通過(guò)Async注解實(shí)現(xiàn)異步任務(wù)及回調(diào)的方法
這篇文章主要介紹了springboot通過(guò)Async注解實(shí)現(xiàn)異步任務(wù)及回調(diào),文中通過(guò)一個(gè)簡(jiǎn)單示例來(lái)直觀的理解什么是同步調(diào)用,在單元測(cè)試用例中,注入?SyncTask?對(duì)象,并在測(cè)試用例中執(zhí)行?doTaskOne(),doTaskTwo(),doTaskThree()?三個(gè)方法,具體實(shí)現(xiàn)方式跟隨小編一起看看吧2022-05-05
Java編寫(xiě)日志手機(jī)號(hào)脫敏工具類
在開(kāi)發(fā)過(guò)程中,很容易將用戶敏感信息,例如手機(jī)號(hào)碼、身份證等,打印在日志平臺(tái),本文將利用Java編寫(xiě)一個(gè)日志手機(jī)號(hào)脫敏工具類,感興趣的可以了解下2024-12-12
Java多線程之線程通信生產(chǎn)者消費(fèi)者模式及等待喚醒機(jī)制代碼詳解
這篇文章主要介紹了Java多線程之線程通信生產(chǎn)者消費(fèi)者模式及等待喚醒機(jī)制代碼詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
Java Hibernate中的持久化類和實(shí)體類關(guān)系
Hibernate是一種Java對(duì)象關(guān)系映射框架,通過(guò)持久化類將Java對(duì)象映射到數(shù)據(jù)庫(kù)表中。持久化類需要實(shí)現(xiàn)無(wú)參構(gòu)造器、具有標(biāo)識(shí)屬性和使用注解或XML進(jìn)行映射。Hibernate通過(guò)Session來(lái)管理對(duì)象的狀態(tài),包括臨時(shí)狀態(tài)、持久化狀態(tài)和游離狀態(tài)2023-04-04
springboot實(shí)現(xiàn)string轉(zhuǎn)json json里面帶數(shù)組
這篇文章主要介紹了springboot實(shí)現(xiàn)string轉(zhuǎn)json json里面帶數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
最簡(jiǎn)單的spring boot打包docker鏡像的實(shí)現(xiàn)
這篇文章主要介紹了最簡(jiǎn)單的spring boot打包docker鏡像的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
SpringBoot配置log4j2的實(shí)現(xiàn)示例
SpringBoot中默認(rèn)使用Logback作為日志框架,本文主要介紹了SpringBoot配置log4j2的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12

