`
yanghongxia9
  • 浏览: 115059 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

itext itextAsian

阅读更多
一.准备工作

       首先需要加载 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 —— 这个类表示一个列表,按顺序包含许多ListItems。

·  com.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.10f, 0.15f, 0.21f, 0.22f, 0.08f, 0.08f, 0.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();



import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;

public class ItextDemo {

public static void main(String[] args) {
// TODO Auto-generated method stub
Document doc=new Document();
try {
PdfWriter writer=PdfWriter.getInstance(doc,new FileOutputStream("ItextDemo.pdf"));
doc.open();
BaseFont bf=BaseFont.createFont( "STSong-Light",   "UniGB-UCS2-H",   BaseFont.NOT_EMBEDDED);
Font font=new Font(bf,12,Font.NORMAL);
doc.add(new Paragraph("中文测试。。 Itext! ",font));
doc.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

// step 1: creation of a document-object
        Document document = new Document();     

        try {

            // step 2:

            // we create a writer that listens to the document

            // and directs a PDF-stream to a file

            PdfWriter.getInstance(document, new FileOutputStream("D:\\ChinesePDF005_"+new

java.util.Date().getTime()+".pdf"));

         

            // step 3: we open the document

            document.open();

         

           //  step 4: we add content to the document

           // 楷体字

            BaseFont bfComic = BaseFont.createFont("c:\\windows\\fonts\\simkai.ttf",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

           // 方正舒体

            BaseFont bfComic2 = BaseFont.createFont("c:\\windows\\fonts\\FZSTK.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

           // 方正姚体

            BaseFont bfComic3 = BaseFont.createFont("c:\\windows\\fonts\\FZYTK.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//
         //   仿宋体

            BaseFont bfComic4 = BaseFont.createFont("c:\\windows\\fonts\\SIMFANG.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

          //  黑体

            BaseFont bfComic5 = BaseFont.createFont("c:\\windows\\fonts\\SIMHEI.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

           // 华文彩云

            BaseFont bfComic6 = BaseFont.createFont("c:\\windows\\fonts\\STCAIYUN.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            //华文仿宋

            BaseFont bfComic7 = BaseFont.createFont("c:\\windows\\fonts\\STFANGSO.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

           // 华文细黑

            BaseFont bfComic8 = BaseFont.createFont("c:\\windows\\fonts\\STXIHEI.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

          //  华文新魏

            BaseFont bfComic9= BaseFont.createFont("c:\\windows\\fonts\\STXINWEI.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            //华文行楷

            BaseFont bfComic0 = BaseFont.createFont("c:\\windows\\fonts\\STXINGKA.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

           // 华文中宋

            BaseFont bfComic99 = BaseFont.createFont("c:\\windows\\fonts\\STZHONGS.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            //隶书

            BaseFont bfComic11= BaseFont.createFont("c:\\windows\\fonts\\SIMLI.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            //宋体&新宋体    (这种字体的输出不了.有问题)

         //   BaseFont bfComic12 = BaseFont.createFont("c:\\windows\\fonts\\SIMSUN.TTC", null,

BaseFont.NOT_EMBEDDED, BaseFont.NOT_EMBEDDED, null, null);

            //宋体-方正超大字符集

            BaseFont bfComic13 = BaseFont.createFont("c:\\windows\\fonts\\SURSONG.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            //幼圆

            BaseFont bfComic14 = BaseFont.createFont("c:\\windows\\fonts\\SIMYOU.TTF",

BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            Font font = new Font(bfComic0, 14);

            String text1 = "啊发生的发球特工是大哥是法国时的风格是This is the quite popular True Type

font (繁體字測試VS简体字测试) ==>"+new java.util.Date();

            document.add(new Paragraph(text1, font));

        }

        catch(DocumentException de) {

            System.err.println(de.getMessage());

        }

        catch(IOException ioe) {

            System.err.println(ioe.getMessage());

        }     

        // step 5: we close the document

        document.close();

        System.out.println(">>> Export : "+"D:\\ChinesePDF005__.pdf");
分享到:
评论

相关推荐

    IText 和 iTextAsian

    IText和iTextAsian是两个在Java和.NET平台上广泛使用的PDF处理库,它们主要用于创建、编辑和处理PDF文档。IText是主要的核心库,而iTextAsian则是一个扩展,专门针对亚洲字符集的支持,如中文、日文和韩文。 IText...

    itext2.1.7和iTextAsian解决中文问题资源包

    为了克服这个问题,我们引入了iTextAsian.jar,这是一个扩展了iText功能的特殊版本,特别是针对亚洲语言,包括中文。 iText 2.1.7是该库的一个较旧版本,但仍然非常实用,尤其对于那些对性能和兼容性有特定需求的...

    itext itextasian 中文

    itext中文: public static void main(String[] args) { try { Document document = new Document(); OutputStream os = new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\test.pdf")); ...

    iText + iTextAsian jar 包

    而iTextAsian是iText的一个扩展,专门为支持亚洲语言(如中文、日文和韩文)而设计。这两个jar包结合使用,能够帮助开发人员在PDF文档中正确显示和处理亚洲字符。 首先,我们来详细了解一下iText。iText库的核心...

    用Java实现PDF报表所需的包 itext iTextAsian

    在这个场景下,`iText` 和 `iTextAsian` 这两个库是至关重要的工具。本文将详细探讨这两个包的功能、如何使用它们以及在生成PDF报表时需要注意的关键点。 `iText` 是一个强大的开源Java库,它允许开发者创建、修改...

    itextasian--亲测非常好用jar包.7z

    《iTextAsian:高效处理中文文本的Java库》 在Java开发中,处理中文文本时,我们经常会遇到编码问题和排版难题。iTextAsian是一款专门针对亚洲语言(包括中文、日文、韩文等)设计的扩展库,它是iText库的一个分支...

    iTextAsian.jar iText.jar

    iText和iTextAsian是两个Java库,主要用于生成和处理PDF文档。这两个JAR(Java Archive)文件在IT行业中扮演着重要角色,特别是在自动化文档生成和报表制作的场景下。 iText是一个开源的Java库,它允许开发人员通过...

    iTextAsian.dll文件

    iTextAsian.dll 文件是针对Java开发的一个重要组件,主要用于处理中文字符编码问题,尤其是在PDF文档的生成和处理中。这个动态链接库(DLL)文件是iText库的扩展,专门设计来支持亚洲语言,包括简体中文、繁体中文、...

    iTextAsian.dll、iTextAsianCmaps.dll、itextsharp.dll.zip

    为了在C#环境下处理PDF文件,尤其是涉及中文字符的文档,经常会用到一些特定的库,例如iTextSharp和iTextAsian。这两个库提供了强大的功能,允许开发者创建、编辑和解析PDF文档。 iTextSharp是一个开源的.NET库,它...

    iTextAsian和itext包

    iText和iTextAsian是两个在Java开发中用于生成PDF文档的重要库。iText是一个开源的Java库,它提供了一套完整的API,使得开发者能够轻松地创建、编辑和操作PDF文档。而iTextAsian则是iText的一个扩展,专门用于处理...

    iTextAsian1.0.zip

    iTextAsian1.0.zip是一个包含Java库的压缩文件,主要针对中文和其他亚洲语言的文本处理,特别是与Word文档操作相关的功能。这个库是iText的扩展版本,iText是一款著名的开源Java PDF库,用于创建、修改和处理PDF文档...

    iText-5.0.6.jar iTextAsian.jar

    在这个压缩包中,我们有两个版本的iText库:iText-5.0.6.jar和iTextAsian.jar。 首先,我们来详细探讨iText-5.0.6.jar。这是iText的5.0.6版本,发布于2013年,是iText 5.x系列的一个稳定版本。这个版本提供了大量的...

    iTextAsian.dll

    《深入解析iTextAsian.dll与PDF技术》 在IT领域,PDF(Portable Document Format)是一种广泛应用的文件格式,它能够跨平台、不失真地展示文档,确保用户在不同设备上查看文档时保持一致的视觉效果。而iTextAsian....

    【itext-asian】亚洲语言包

    【itext-asian】亚洲语言包是一个专门为处理亚洲语言,如中文、日文、韩文等,而设计的扩展库,它是基于著名的PDF处理库iText。iText是一款开源的Java库,主要用于创建和修改PDF文档,而iText-asian则是其针对亚洲...

    iText-2.1.7.jar+iTextAsian.jar+iTextAsianCmaps.jar+itext-rtf-2.1.7.jar.zip

    2. **iTextAsian.jar**: 这个文件扩展了iText的基本功能,使其能够处理亚洲语言,如中文、日文和韩文。iTextAsian包含了一系列针对这些语言的字体和编码支持,确保在生成PDF时可以正确显示非拉丁字符。这对于处理多...

    iText-5.0.5与iTextAsian

    iTextAsian则是iText的一个扩展,专门为处理亚洲语言(如中文、日文和韩文)的PDF文档提供支持。在PDF文档的生成和处理中,这两个库扮演了关键角色。 首先,让我们深入了解一下iText的基本功能。iText允许开发人员...

    itext-asian2.7.1+itext-asiancmaps2.7.1jar文件以及字体maven项目

    最近在做项目用到jasperreports6.5.0,该库依赖itext2.7.1版本... <artifactId>itext-asian <version>2.7.1 <groupId>com.lowagie</groupId> <artifactId>itext-asiancmaps <version>2.7.1 </dependency>

    最新itext-asian.jar(适合iText5.0以上的版本)

    现在网络上大多数都的iTextAsian都基于iText2.x版本,如果你正在使用iText5.0以上的版本,是无法编译通过的。提供下载的这个版本不是修改过来的,是从官网上下载的。

    iTextAsian.jar-稳定版本

    iTextAsian.jar iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载...

Global site tag (gtag.js) - Google Analytics