需要的两个包及下载地址:

(1)iText.jar:http://download.csdn.net/source/296416

(2)iTextAsian.jar(用来进行中文的转换):http://download.csdn.net/source/172399

代码如下:

 import java.awt.Color;
import java.io.FileOutputStream;
import com.lowagie.text.Cell;
import com.lowagie.text.Chapter;
import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.Image;
import com.lowagie.text.List;
import com.lowagie.text.ListItem;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Section;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
public class ITextDemo {
public boolean iTextTest() {
try {
/** 实例化文档对象 */
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
/** 创建 PdfWriter 对象 */
PdfWriter.getInstance(document,// 文档对象的引用
new FileOutputStream("d://ITextTest.pdf"));//文件的输出路径+文件的实际名称
document.open();// 打开文档
/** pdf文档中中文字体的设置,注意一定要添加iTextAsian.jar包 */
BaseFont bfChinese = BaseFont.createFont("STSong-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);//加入document:
/** 向文档中添加内容,创建段落对象 */
document.add(new Paragraph("First page of the document."));// Paragraph添加文本
document.add(new Paragraph("我们是害虫", FontChinese));
/** 创建章节对象 */
Paragraph title1 = new Paragraph("第一章", FontChinese);
Chapter chapter1 = new Chapter(title1, 1);
chapter1.setNumberDepth(0);
/** 创建章节中的小节 */
Paragraph title11 = new Paragraph("表格的添加", FontChinese);
Section section1 = chapter1.addSection(title11);
/** 创建段落并添加到小节中 */
Paragraph someSectionText = new Paragraph("下面展示的为3 X 2 表格.",
FontChinese);
section1.add(someSectionText);
/** 创建表格对象(包含行列矩阵的表格) */
Table t = new Table(3, 2);// 2行3列
t.setBorderColor(new Color(220, 255, 100));
t.setPadding(5);
t.setSpacing(5);
t.setBorderWidth(1);
Cell c1 = new Cell(new Paragraph("第一格", FontChinese));
t.addCell(c1);
c1 = new Cell("Header2");
t.addCell(c1);
c1 = new Cell("Header3");
t.addCell(c1);
// 第二行开始不需要new Cell()
t.addCell("1.1");
t.addCell("1.2");
t.addCell("1.3");
section1.add(t);
/** 创建章节中的小节 */
Paragraph title13 = new Paragraph("列表的添加", FontChinese);
Section section3 = chapter1.addSection(title13);
/** 创建段落并添加到小节中 */
Paragraph someSectionText3 = new Paragraph("下面展示的为列表.", FontChinese);
section3.add(someSectionText3);
/** 创建列表并添加到pdf文档中 */
List l = new List(true, true, 10);// 第一个参数为true,则创建一个要自行编号的列表,
// 如果为false则不进行自行编号
l.add(new ListItem("First item of list"));
l.add(new ListItem("第二个列表", FontChinese));
section3.add(l);
document.add(chapter1);
/** 创建章节对象 */
Paragraph title2 = new Paragraph("第二章", FontChinese);
Chapter chapter2 = new Chapter(title2, 1);
chapter2.setNumberDepth(0);
/** 创建章节中的小节 */
Paragraph title12 = new Paragraph("png图片添加", FontChinese);
Section section2 = chapter2.addSection(title12);
/** 添加图片 */
section2.add(new Paragraph("图片添加: 饼图", FontChinese));
Image png = Image.getInstance("D:/pie.png");//图片的地址
section2.add(png);
document.add(chapter2);
document.close();
return true;
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
return false;
}
public static void main(String args[]) {
System.out.println(new ITextDemo().iTextTest());
}
}

如果发现中文无法显示的时候,可以在你需要显示中文的地方先new Paragraph("",FontChinese);

FontChinese:为中文字体的设置,见代码中。

Java生成PDF文档(表格、列表、添加图片等)的更多相关文章

  1. Java 设置PDF文档背景——单色背景、图片背景

    一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括2种设置方法: 设置纯色背景色 设置图 ...

  2. 关于根据模板生成pdf文档,差入图片和加密

    import com.alibaba.fastjson.JSONObject; import com.aliyun.oss.OSSClient; import com.itextpdf.text.pd ...

  3. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  4. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  5. Aspose.Words操作word生成PDF文档

    Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...

  6. 自动把动态的jsp页面(或静态html)生成PDF文档,并且上传至服务器

    置顶2017年11月06日 14:41:04 阅读数:2311 这几天,任务中有一个难点是把一个打印页面自动给生成PDF文档,并且上传至服务器,然而公司框架只有手动上传文档,打印时可以保存为PDF在本 ...

  7. 使用PHP生成PDF文档

    原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快 ...

  8. DocFX生成PDF文档

    使用DocFX生成PDF文档,将在线文档转换为PDF离线文档. 关于DocFX的简单介绍使用DocFX生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/do ...

  9. ireport图形化界面生成pdf文档

    一.ireport软件安装 1.下载软件的官网 https://community.jaspersoft.com/project/ireport-designer/releases 2.安装软件   ...

随机推荐

  1. 2019-04-03-day025-异常与日志

    内容回顾 考试 6个小时 120分 (100+20) 15:00-18:00 笔试 60分 19:00-22:00 上机考试 40分 + 20分 60分及格不算附加题 简答题 读程序 简单编程 编程题 ...

  2. C# 解压

    需要ICSharpCode.SharpZipLib.dll 网上有很多 先添加文件引用 再添加引用 using ICSharpCode.SharpZipLib.Zip; #region 解压 /// ...

  3. vuejs中v-bind绑定class时的注意事项

    关于v-bind绑定class的实例 作用:可用于不同样式之间的切换 <!DOCTYPE html> <html lang="en"> <head&g ...

  4. Electron_01

    1.通过 https://electron.atom.io/  下载  electron-v1.4.15-win32-x64.zip 之后 2.通过 asar pack “你的项目文件夹” app.a ...

  5. CSS使用方法

    CSS行内样式: 在开始标签内添加style样式属性 如:<p style="color:red;">内容</p> CSS内部样式: 内部样式(嵌入样式), ...

  6. Gym - 101889D:Daunting device (老司机树)

    题意:N个格子排出一排,开始格子颜色都是1:现在有M个操作: 或,把区间[L,R]颜色改为c: 或,查询一共有多少格子颜色为c. 最后求颜色最多的数量. 数据是随机的,且强制在线. 思路:ODT裸题. ...

  7. sscanf 与 ssprintf 用法 (转载--https://www.cnblogs.com/Anker/p/3351168.html)

    sprintf函数 sprintf函数原型为 int sprintf(char *str, const char *format, ...).作用是格式化字符串,具体功能如下所示: (1)将数字变量转 ...

  8. ZOJ 1007:Numerical Summation of a Series(数学)

    Numerical Summation of a Series Time Limit: 10 Seconds      Memory Limit: 32768 KB      Special Judg ...

  9. 大型网站系统与Java中间件实践读书笔记

    转载:http://blog.csdn.net/ioscodelover/article/details/45047869 1.分布式系统相对集中式而言,是指多台计算机互相通过消息通信进行协作而对外提 ...

  10. hihocoder1490 Tree Restoration 模拟

    There is a tree of N nodes which are numbered from 1 to N. Unfortunately, its edges are missing so w ...