itext生成PDF设置页眉页脚的实例详解

发布时间 - 2026-01-11 03:23:13    点击率:

itext生成PDF设置页眉页脚的实例详解

实例代码:

/** 
 * ITextTest 
 * iText生成PDF加入列表,注释等内容,同时设置页眉和页脚及页码等。 
 */ 
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);//设置中文字体 
      } catch (IOException e) { 
        e.printStackTrace(); 
      } 
     
      Font chinese = new Font(fontChinese, 10, Font.NORMAL);  
       
      /** 
       * HeaderFooter的第2个参数为非false时代表打印页码 
       * 页眉页脚中也可以加入图片,并非只能是文字 
       */ 
      HeaderFooter header=new HeaderFooter(new Phrase("这仅仅是个页眉,页码在页脚处",chinese),false); 
       
      //设置是否有边框等 
//     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); 
     
      /** 
       * 页眉页脚的设置一定要在open前设置好 
       */ 
      doc.open(); 
      /** 
       * true:代表要排序,10代表序号与文字之间的间距 
       * false:代表不排序,则文字前的符号为"-" 
       */ 
      List itextList=new List(true,10); 
       
      /** 
       * 也可以改变列表的符号[可选] 
       * 
$$$ 
       * 要改变列表符号时,上面的List构造方法第一参数值必须为false 
       * 
$$$ 
       * 可以使用字符串,Chunk,Image等作列表符号,如下 
       */ 
      //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); 
       
      //添加注释,注释有标题和内容,注释可以是文本,内部链接,外部链接,图片等 
      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(); 
    } 
  } 
} 
 

工程结构图:

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# itext生成PDF设置页眉页脚  # itext  # PDF的生成  # java使用itext导出PDF文本绝对定位(实现方法)  # 详解开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)  # Java开源工具iText生成PDF简单实例  # 利用iText在JSP中生成PDF报表  # 是个  # 如有  # 结构图  # 希望能  # 可以使用  # 可选  # 中也  # 谢谢大家  # 等内容  # 疑问请  # 居右  # Bill  # author  # Rectangle  # Tu  # PdfWriter  # List  # ListItem  # pdf  # Phrase 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网页设计与网站制作内容,怎样注册网站?  如何快速重置建站主机并恢复默认配置?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何快速查询网站的真实建站时间?  香港服务器租用费用高吗?如何避免常见误区?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  如何在景安服务器上快速搭建个人网站?  如何破解联通资金短缺导致的基站建设难题?  Laravel如何使用withoutEvents方法临时禁用模型事件  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  node.js报错:Cannot find module 'ejs'的解决办法  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Swift中循环语句中的转移语句 break 和 continue  网站制作壁纸教程视频,电脑壁纸网站?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  如何在Windows环境下新建FTP站点并设置权限?  javascript基于原型链的继承及call和apply函数用法分析  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  深入理解Android中的xmlns:tools属性  活动邀请函制作网站有哪些,活动邀请函文案?  javascript中的try catch异常捕获机制用法分析  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何选择PHP开源工具快速搭建网站?  如何在IIS服务器上快速部署高效网站?  如何确保西部建站助手FTP传输的安全性?  微信公众帐号开发教程之图文消息全攻略  个人网站制作流程图片大全,个人网站如何注销?  如何在七牛云存储上搭建网站并设置自定义域名?  详解Huffman编码算法之Java实现  北京网站制作公司哪家好一点,北京租房网站有哪些?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  黑客如何利用漏洞与弱口令入侵网站服务器?  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  EditPlus中的正则表达式 实战(1)  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  javascript日期怎么处理_如何格式化输出  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  高端建站三要素:定制模板、企业官网与响应式设计优化  Java解压缩zip - 解压缩多个文件或文件夹实例  EditPlus 正则表达式 实战(3)  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  如何在Ubuntu系统下快速搭建WordPress个人网站?  js代码实现下拉菜单【推荐】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  如何彻底删除建站之星生成的Banner?