用itext5-1-生成PDF

Posted wf-zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用itext5-1-生成PDF相关的知识,希望对你有一定的参考价值。

代码和图片出处

https://howtodoinjava.com/library/read-generate-pdf-java-itext/

pom引入jar包

<dependencies>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.3</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
</dependencies>

先看效果  使用wps打开的  解决了不支持中文的问题--------网站上的HelloWorld不支持中文输出

技术图片

 

整体项目   这里先说下 HelloWorld  下文解释所有

技术图片

 

 //准备数据类

技术图片
package com.wf.zhang.test;

public class Person {

    private String name;

    private Integer age;

    private String Adress;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAdress() {
        return Adress;
    }

    public void setAdress(String adress) {
        Adress = adress;
    }

    public Person() {
    }

    public Person(String name, Integer age, String adress) {
        super();
        this.name = name;
        this.age = age;
        Adress = adress;
    }

    @Override
    public String toString() {
        return String.format("Person [name=%s, age=%s, Adress=%s]", name, age, Adress);
    }

}
Person

//生成PDF的类

package com.wf.zhang.test;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;

import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;
 
public class JavaPdfHelloWorld
{
   public static void main(String[] args) throws IOException
   {
      Document document = new Document();
      try
      {
         PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));
         document.open();
        
         //设置宋体
         BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

         //设置字大小  颜色
         Font font = new Font(bfChinese, 20, Font.NORMAL, BaseColor.RED);
         
         //准备Person类  
         Person person = new  Person();
         person.setName("娃哈哈");
         person.setAge(99);
         person.setAdress("杭州西湖区文一路");
         
         //准备personList
         List<Person> personList = Arrays.asList(
                                                  new Person("西湖一",18,"杭州西湖区123号东方通信大厦66楼1666号室"),
                                                  new Person("滨江二",26,"杭州滨江区456号辉煌大厦99楼2999号室"),
                                                  new Person("萧山三",66,"杭州萧山区789号新玛特国际大厦888楼38888号室")
                 
                                                 );

         //PDF输出内容
         document.add(new Paragraph(person.toString(), font));
         //继续输出
         document.add(new Paragraph(personList.toString(),font));
         document.close();
        
         writer.close();
      } catch (DocumentException e)
      {
         e.printStackTrace();
      } catch (FileNotFoundException e)
      {
         e.printStackTrace();
      } finally {
    }
   }
}

 

 

 

 

 

 

 

 

 

 

 

以上是关于用itext5-1-生成PDF的主要内容,如果未能解决你的问题,请参考以下文章

Java itext为pdf 文件添加水印核心功能代码片段

C# 富文本内容生成PDF,用开源免费的类库

如何使用 angular9 和 Jasmine 为所有组件生成 .pdf 格式的单元测试用例代码覆盖率报告

java生成pdf方案

用iText生成word文档, 怎么给 word 添加水印,不是生成pdf哦,是word,哪位大神help~~

java利用itext导出pdf