jText 生成PDF介绍

原创 2013年12月05日 15:32:27

  

一.准备工作

       首先需要加载 itext-1.1.4.jar和iTextAsian.jar两个jar包,其中iTextAsian.jar用于中日韩文字的显示问题.

二.主要类   

com.lowagie.text.Paragraph —— 这个类表示一个缩进的段落。 com.lowagie.text.Chapter —— 这个类表示 PDF 文档中的章节。使用 Paragraph 作为题目并使用int 作为章节号码来创建它。 com.lowagie.text.Font —— 这个类包含了全部的字体规范,例如字体、大小、样式和颜色。各种字体都在这个类中声明为静态常数。 com.lowagie.text.List —— 这个类表示一个列表,按顺序包含许多 ListItemscom.lowagie.text.Table —— 这个类表示包含单元格的表,单元格有序地排列在矩阵中。

SIMSUN.TTC:宋体和新宋体

SIMKAI.TTF:楷体

SIMHEI.TTF:黑体

SIMFANG.TTF:仿宋体

三.步骤

     一个PDF文件的输出,总共只需要5个步骤
       a.创建一个Document实例
       Document document = new Document(PageSize.A4, 50, 50, 50, 50);

      第一个参数是页面大小A4大小,默认为竖置,改为横置PageSize.A4.rotate();。接下来的参数分别是左、右、上和下页边距

     b.将Document实例和文件输出流用PdfWriter类绑定在一起
     PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream("HelloWorld.pdf"));

       其他写入器为 HtmlWriter、RtfWriter、XmlWriter 等等,不同的类对应不同的文件格式.
      c.打开文档
    document.open();


     d.在文档中添加文字, 图片、表格、标题等.

   1.添加章

   chapterFont = FontFactory.getFont(FontFactory.HELVETICA, 18,
     com.lowagie.text.Font.NORMAL, Color.black);  // 设置字体大小、颜色

    Paragraph cTitle = new Paragraph("第一章", chapterFont);
     chapter1 = new Chapter(cTitle, 1);      

    document.add(chapter1); //添加新章

  2.添加节

   Paragraph sTitle = new Paragraph("第一章第一节", , sectionFont);
   Section section = chapter1.addSection(sTitle, 2); 

   3.添加表格

     table = new Table(n);  //n表示有多少列

    Table table = new Table(8);
     float[] widths = { 0.10f0.15f0.21f0.22f0.08f0.08f0.10f,
                    
0.06f };
    table.setWidths(widths);  //假设有8列,并设置每列的列宽

  table中添加cell内容,

    Cell cell = new Cell(new Phrase("内容", tableHeaderFont));// 或者   Cell cell = new Cell("内容");
    cell.setBackgroundColor(Color.gray);  //设置背景色
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); //设置为居中,默认为左对齐
    table.addCell(cell);

section.add(table); //把表加入节中

4.添加图片

Section subsection = section21.addSection(subTitle, 3); //节下再加新的节

subsection.add("图表"); //给图表加个小标题

   通过URL得到图片实例:

Image wmf = Image.getInstance(new URL("../examples/harbour.wmf"));

Image gif = Image.getInstance(new URL("../examples/vonnegut.gif"));

Image jpeg = Image.getInstance(new URL("../examples/myKids.jpg"));

Image png = Image.getInstance(new URL("../examples/hitchcock.png"));

通过文件名得到图片实例:

Image gif = Image.getInstance("vonnegut.gif");

Image jpeg = Image.getInstance("myKids.jpg");

Image png = Image.getInstance("hitchcock.png"); // 在本地的完整路径也可以

 subsection.add(image);
  Paragraph endPgh = new Paragraph("\n");   //换行的作用
  endPgh.setAlignment(com.lowagie.text.Image.MIDDLE); //设置图表位置
  subsection.add(endPgh);

5.一般的文字
 document.add(new Paragraph("Hello World"));

6.添加页码

 HeaderFooter footer = new HeaderFooter(new Phrase("页码:",getChineseFont()), true);
             footer.setBorder(Rectangle.NO_BORDER);
             document.setFooter(footer);
             document.open();

    e.关闭文档
  document.close();

 

 

 

黑马程序员java JText的数据添加到…

----------------------android培训、java培训、期待与您交流!---------------------- 一、JTable 例:建立表格 import java.awt...

使用Java组件itext 生成pdf介绍

http://www.linuxidc.com/Linux/2010-02/24633.htm iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本...
  • cc_lq
  • cc_lq
  • 2011年08月08日 21:20
  • 480

使用Java组件itext 生成pdf介绍

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

使用Java组件itext生成pdf介绍

iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与...
  • wacky
  • wacky
  • 2017年03月18日 15:49
  • 243

介绍一个PDF的生成方案

在Java世界,要想生成PDF,方案不少。最近一直在和这个东西打交道,所以简单做一个小结吧。 在此之前,先来勾画一下我心中比较理想的一个解决方案。在企业应用中,碰到的比较多的PDF的需求,可能是...

使用Java组件itext 生成pdf介绍

使用Java组件itext 生成pdf介绍 转载自:http://news.newhua.com/news/2011/0111/113128.shtml iText是一个能够快速产生PDF文件的j...

java 通过 itext生成pdf添加,插入文字,图片

itext生成pdf添加,插入文字,图片

好记性不如烂笔头4-JAVA生成PDF文件

使用iText JAR生成PDF 在很多的场合,需要使用PDF文件,有时候也要设置PDF文件的表格和文字等。 如果让一个PDF工具类非常灵活,那么这个工具类就会很复杂;一般根据实际情况,写几个合适...
  • ffm83
  • ffm83
  • 2015年01月29日 16:59
  • 836

ireport生成pdf文件

ireport生成pdf文件 生成jrxml工具:iReport-4.6.0 范例如下:

itext应用HTML模版生成PDF并加水印,处理了中文问题

刚用itext实现了一个生成PDF加水印,处理了对中文的支持
  • tkggetg
  • tkggetg
  • 2015年08月19日 17:28
  • 1077
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jText 生成PDF介绍
举报原因:
原因补充:

(最多只允许输入30个字)