首先需要你自己下载itext相关的jar包并添加引用,或者在maven中添加如下引用配置:

com.lowagie

iText

2.1.5

com.lowagie

iText-rtf

2.1.4

com.lowagie

iTextAsian

2.1.4

如下代码:

package com.iText.create;

import java.awt.Color;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import com.lowagie.text.Cell;

import com.lowagie.text.Document;

import com.lowagie.text.DocumentException;

import com.lowagie.text.Element;

import com.lowagie.text.Font;

import com.lowagie.text.HeaderFooter;

import com.lowagie.text.Image;

import com.lowagie.text.PageSize;

import com.lowagie.text.Paragraph;

import com.lowagie.text.Phrase;

import com.lowagie.text.Table;

import com.lowagie.text.pdf.BaseFont;

import com.lowagie.text.pdf.PdfWriter;

/** *//**

* 功能描述:使用Itext组件创建pdf文档

* 创建时间:2010-07-01

* @author sxyx2008

*

*/

public class CreatePdf {

public CreatePdf() throws Exception{

//创建一个文档对象纸张大小为A4

Document doc=new Document(PageSize.A4,50,50,50,50);

//设置要输出到磁盘上的文件名称

PdfWriter writer=PdfWriter.getInstance(doc,new FileOutputStream(new File("徐熙媛.pdf")));

//设置作者信息

doc.addAuthor("sxyx2008");

//设置文档创建日期

doc.addCreationDate();

//设置标题

doc.addTitle("iText测试");

//设置值主题

doc.addSubject("iText");

//构建页脚

HeaderFooter footer=new HeaderFooter(new Phrase(), true);

//设置页脚是否有边框

//0表示无

//1上边框

//2下边框

//3上下边框都有 默认都有

//设置页脚是否有边框

footer.setBorder(0);

//footer.setBorder(1);

//footer.setBorder(2);

//footer.setBorder(3);

//设置页脚的对齐方式

footer.setAlignment(Element.ALIGN_CENTER);

//将页脚添加到文档中

doc.setFooter(footer);

//打开文档开始写内容

doc.open();

//Paragraph par1=new Paragraph("Hello,Welcome You");

//Paragraph par2=new Paragraph("你好,中文测试",ChineseFont());

/**//*par1.setAlignment(Element.ALIGN_CENTER);

doc.add(par1);*/

//par2.setAlignment(Element.ALIGN_CENTER);

//doc.add(par2);

//构建一段落

Paragraph par3=new Paragraph("客户信息表",ChineseFont());

//设置局中对齐

par3.setAlignment(Element.ALIGN_CENTER);

//添加到文档

doc.add(par3);

//创建一个四列的表格

Table table=new Table(4);

//设置边框

table.setBorder(1);

//创建表头

Cell cell1=new Cell(new Phrase("编号",ChineseFont()));

cell1.setHorizontalAlignment(Element.ALIGN_CENTER);

cell1.setVerticalAlignment(Element.ALIGN_CENTER);

cell1.setHeader(true);

cell1.setBackgroundColor(Color.RED);

Cell cell2=new Cell(new Phrase("姓名",ChineseFont()));

cell2.setHorizontalAlignment(Element.ALIGN_CENTER);

cell2.setVerticalAlignment(Element.ALIGN_CENTER);

cell2.setHeader(true);

cell2.setBackgroundColor(Color.RED);

Cell cell3=new Cell(new Phrase("性别",ChineseFont()));

cell3.setHorizontalAlignment(Element.ALIGN_CENTER);

cell3.setVerticalAlignment(Element.ALIGN_CENTER);

cell3.setHeader(true);

cell3.setBackgroundColor(Color.RED);

Cell cell4=new Cell(new Phrase("备注",ChineseFont()));

cell4.setHorizontalAlignment(Element.ALIGN_CENTER);

cell4.setVerticalAlignment(Element.ALIGN_CENTER);

cell4.setHeader(true);

cell4.setBackgroundColor(Color.RED);

table.addCell(cell1);

table.addCell(cell2);

table.addCell(cell3);

table.addCell(cell4);

//添加此代码后每页都会显示表头

table.endHeaders();

//循环向表格中添加100条记录 100行4列的表格

//以下代码的作用是创建100行数据,其中每行有四列,列依次为 编号 姓名 性别 备注

for (int i = 1; i <=100; i++) {

//设置编号单元格

Cell cell11=new Cell(i+"");

//设置姓名单元格

Cell cell22=new Cell(new Phrase("徐熙媛",ChineseFont()));

//设置性别单元格

Cell cell33=new Cell(new Phrase("女",ChineseFont()));

//设置备注单元格

Cell cell44=new Cell(new Phrase("好姑娘",ChineseFont()));

//单元格水平对齐方式

cell11.setHorizontalAlignment(Element.ALIGN_CENTER);

//单元格垂直对齐方式

cell11.setVerticalAlignment(Element.ALIGN_CENTER);

cell22.setHorizontalAlignment(Element.ALIGN_CENTER);

cell22.setVerticalAlignment(Element.ALIGN_CENTER);

cell33.setHorizontalAlignment(Element.ALIGN_CENTER);

cell33.setVerticalAlignment(Element.ALIGN_CENTER);

cell44.setHorizontalAlignment(Element.ALIGN_CENTER);

cell44.setVerticalAlignment(Element.ALIGN_CENTER);

table.addCell(cell11);

table.addCell(cell22);

table.addCell(cell33);

table.addCell(cell44);

}

//将表格添加到新的文档

doc.add(table);

//创建新的一页

doc.newPage();

//添加图片

Image image=Image.getInstance("D://Program Files//myeclipseworkspace//6.5//iText//src//5.jpg");

//添加到文档

doc.add(image);

//设置对象方式

image.setAlignment(Element.ALIGN_CENTER);

doc.close();

writer.close();

}

//pdf文档中文字符处理

public static Font ChineseFont()

{

BaseFont baseFont=null;

try {

baseFont=BaseFont.createFont("STSong-Light","UniGB-UCS2-H", true);

} catch (DocumentException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

Font chineseFont=new Font(baseFont,8,Font.NORMAL,Color.BLUE);

return chineseFont;

}

public static void main(String[] args) {

try {

new CreatePdf();

} catch (Exception e) {

e.printStackTrace();

}

}

}

itextpdf添加表格元素_java使用iText生成pdf表格详解相关推荐

  1. java生成pdf加密_java使用iText 生成PDF全攻略(表格,加密)

    java使用iText 生成PDF全攻略,包括创建文档,设置字体,添加表格(PdfPTable),创建新页(newPage),设置布局,加密 主要使用的jar包: itextpdf-5.4.2.jar ...

  2. java pdf 首行缩进_java使用iText生成pdf文档的对齐方式

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  3. itextpdf添加表格元素_使用iText填充pdf表单

    最近项目中用到了下载pdf回单的功能.需要把内容动态的填入pdf并打印,觉得这个功能挺实用的,所以决定用博客记录一下方便以后使用. 一.首先我们需要安装Adoble Acrobat XI Pro,因为 ...

  4. itextpdf 怎么下划线_Java itext生成pdf设置下划线,itextpdf,package cn.o

    Java itext生成pdf设置下划线,itextpdf,package cn.opackage cn.outofmemory.example.itextpdf;import com.itextpd ...

  5. java生成pdf表格_java在pdf中生成表格的方法

    1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...

  6. itext 生成pdf 输出特殊符号_JAVA提取PDF内容及转换PDF为图片

    今天给大家分享一下使用java处理pdf文件,包括提取pdf文本.提取pdf图片.pdf转图片三种操作. 主要使用到的库是apache开源的pdfbox,目前最新版本是2.0.x,网上的资料一般是1. ...

  7. java 生成字体文件,java使用itext生成pdf文件-设置字体,itextpdf,import com.l

    java使用itext生成pdf文件-设置字体,itextpdf,import com.limport com.lowagie.text.Document;import com.lowagie.tex ...

  8. iText生成pdf文书

    我们项目需要生成文书,文书内容比较麻烦,需要动态插入表格.图片.修改字体颜色等. 首先理所当然的使用了word方式,在浏览器中使用NTKO生成word,动态替换标签文字,插入表格,虽然实现了功能,但是 ...

  9. java 生成pdf itext_使用Java组件itext 生成pdf介绍

    iText是一个能够快速产生PDF文件的Java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用iText与 ...

最新文章

  1. 【一语点醒梦中人】如何优雅地合并两个JSON对象 → Object.assign(a, b)和Object.assign({}, a, b)的区别
  2. maya表情blendshape_Maya的形状融合变形器Blend Shape | 学步园
  3. 一次搞懂所有排序算法(一)
  4. 中国移动物联网客户规模突破2600家 联网接入终端达2300万台
  5. SQL 死锁分析(转贴)
  6. Redis存储结构体信息,选hash还是string?
  7. php sphinx 查询,php-Sphinx RT索引和SphinxQL查询
  8. 获取ul下li标签里点击的是哪一个li并获取li里a标签的值
  9. mysql 23000_mysql – SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败...
  10. c语言怎么设计程序框图,C语言课程设计————写下流程图! 谢谢
  11. a7100换电池_如何评价三星galaxy A7100(2016版)?
  12. 逻辑回归算法深度思考-优点和缺点
  13. ad10搜索快捷键_AD中常用的快捷方式
  14. php 微信支付md5签名,微信支付V3支付签名无效解决方案
  15. Android中获取视频的第一帧图片的三种方法
  16. linux 进入recovery模式,ubuntu进入recovery mode模式 – 运维那些事
  17. 约翰·卡马克(John Carmack的全名是John D. Carmack II)
  18. C++实现人员工资管理系统
  19. python熊猫弹幕_GitHub - woaishui/danmu: Python 弹幕包 A live danmu package for python
  20. 文件切割器 合并器

热门文章

  1. xy坐标正负方向_【笛卡尔坐标系】
  2. lvds接口屏线安装图解_五分钟让你学会液晶拼接屏安装方法
  3. 计算机屏幕亮度调到多少合适,电脑屏幕的亮度和对比度调到多少比较合适,对眼睛伤害最小?有哪位高手了解?...
  4. java 原子类能做什么_死磕 java原子类之终结篇(面试题)
  5. matlab设置工作路径
  6. 南工院linux考试题库,操作系统复习题..doc
  7. 参数估计_状态估计的基本概念(1)参数估计问题
  8. python 的案例实战_python案例实战之一
  9. cad和python哪个好学_对纯外行人来说,学习PS和Python哪个更容易?
  10. 卷积核旋转180度理解