java: create pdf using itextpdf 2.1.7 or 7.1.10 Library
/**
* 版权所有 2022 涂聚文有限公司
* 许可信息查看:
* 描述:
* IDE:IntelliJ IDEA 2021.2.3
* 数据库:MSSQL Server 2019
* OS:windows 10 x64
* 历史版本: JDK 14.02
* 2022-1-12 创建者 geovindu
* 2022-1-15 添加 Lambda
* 2022-1-15 修改:date
* 接口类 mssql-jdbc-9.4.1.jre16.jar.
*
* 2022-1-15 修改者:Geovin Du
* 生成API帮助文档的指令:
*javadoc - -encoding Utf-8 -d apidoc iTextHelper.java
https://mvnrepository.com/artifact/com.itextpdf
https://mvnrepository.com/artifact/com.lowagie/itext/2.1.7
https://mvnrepository.com/artifact/com.lowagie/itext/4.2.1
https://sourceforge.net/projects/itext/
https://github.com/itext
java write stringbuilder to file
http://guava-libraries.googlecode.com/
https://github.com/google/guava
Files.write(stringBuilder, file, Charsets.UTF_8)
http://commons.apache.org/io/
You could use the Apache Commons IO library, which gives you FileUtils:
FileUtils.writeStringToFile(file, stringBuilder.toString(), Charset.forName("UTF-8"))
https://github.com/weiyeh/iText-4.2.0
https://github.com/ymasory/iText-4.2.0
https://mvnrepository.com/artifact/com.itextpdf/html2pdf
http://www.java2s.com/Code/Jar/i/Downloaditextpdf541jar.htm
http://www.java2s.com/Code/Jar/i/Downloaditextrtf215jar.htm
https://mvnrepository.com/artifact/com.lowagie/itext-rtf/2.1.7
http://www.java2s.com/Code/Jar/i/Downloaditextasian217jar.htm
https://mvnrepository.com/artifact/com.itextpdf/itext-asian/5.2.0
https://mvnrepository.com/artifact/com.itextpdf
https://mvnrepository.com/artifact/com.itextpdf.tool
http://www.java2s.com/Code/Jar/i/itext.htm
* */
package Geovin.Common;
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/*
5.4.1
import com.itextpdf.io.*;
import com.itextpdf.pdfa.*;
import com.itextpdf.test.*;
import com.itextpdf.commons.*;
import com.itextpdf.pdfa.PdfADocument;
import com.itextpdf.barcodes.*;
import com.itextpdf.svg.*;
import com.itextpdf.forms.*;
import com.itextpdf.kernel.*;
import com.itextpdf.layout.*;
import com.itextpdf.layout.font.*;
import com.itextpdf.styledxmlparser.*;
import com.itextpdf.signatures.*;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.Image;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Header;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.TextField;
import com.itextpdf.text.*;
*/
import Geovin.Model.Person;
import com.lowagie.text.BadElementException;
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.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;
import com.lowagie.tools.*;
import com.lowagie.text.pdf.fonts.*;
/**
*itext-rtf 2.1.7
* itextasian 2.1.7
*itextpdf 2.1.7
* @author geovindu
* @version 1.0
* */
public class iTextHelper {
/**
*
*
*
* */
public void Create() throws DocumentException, IOException
{
// 创建Document对象(页面的大小为A4,左、右、上、下的页边距为10)
Document document = new Document(PageSize.A4, 10, 10, 10, 10);
// 建立书写器
PdfWriter.getInstance(document, new FileOutputStream("src/geovindu.PDF"));
// 设置相关的参数
setParameters(document, "开发者测试", "涂聚文测试", "测试 开发者 调试", "geovindu", "geovindu");
// 打开文档
document.open();
// 使用iTextAsian.jar中的字体
BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font font = new Font(baseFont);
List<Person> personList = new ArrayList<Person>();
// 循环添加对象
for (int i = 0; i < 5; i++) {
Person user = new Person();
user.setLastName("geovindu:"+i);
user.setFirstName("开发者测试"+i);
user.setSex("测试"+i);
personList.add(user);
}
Table table = setTable(personList);
document.add(new Paragraph("用户信息如下:",setFont()));
document.add(table);
// 关闭文档
document.close();
}
/**
*
*
* */
public Table setTable(List<Person> personList) throws BadElementException{
//创建一个有3列的表格
Table table = new Table(3);
table.setBorderWidth(1);
table.setBorderColor(new Color(0, 0, 255));
table.setPadding(5);
table.setSpacing(5);
// 创建表头
Cell cell1 = setTableHeader("姓");
Cell cell2 = setTableHeader("名");
Cell cell3 = setTableHeader("性别");
table.addCell(cell1);
table.addCell(cell2);
table.addCell(cell3);
// 添加此代码后每页都会显示表头
table.endHeaders();
for (int i = 0; i < personList.size(); i++) {
Cell celli1 = setTableHeader(personList.get(i).getLastName());
Cell celli2 = setTableHeader(personList.get(i).getFirstName());
Cell celli3 = setTableHeader(personList.get(i).getSex());
table.addCell(celli1);
table.addCell(celli2);
table.addCell(celli3);
}
return table;
}
/**
* itextasian 2.1.7
*
* */
public Font setFont(){
BaseFont baseFont = null;
try {
baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Font font = new Font(baseFont, 8, Font.NORMAL,Color.BLUE);
return font;
}
/**
* 设置cell
* @param name
* @return
* @throws BadElementException
*/
public Cell setTableHeader(String name) throws BadElementException {
Cell cell = new Cell(new Phrase(name, setFont()));
//单元格水平对齐方式
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
//单元格垂直对齐方式
cell.setVerticalAlignment(Element.ALIGN_CENTER);
// cell.setHeader(true);
//cell.setBackgroundColor(Color.RED);
return cell;
}
/**
* 设置相关参数
* @param document
* @return
*/
public Document setParameters(Document document,String title,String subject,String keywords,String author,
String creator){
// 设置标题
document.addTitle(title);
// 设置主题
document.addSubject(subject);
// 设置作者
document.addKeywords(keywords);
// 设置作者
document.addAuthor(author);
// 设置创建者
document.addCreator(creator);
// 设置生产者
document.addProducer();
// 设置创建日期
document.addCreationDate();
return document;
}
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java: create pdf using itextpdf 2.1.7 or 7.1.10 Library
自学咖网 » java: create pdf using itextpdf 2.1.7 or 7.1.10 Library


