ITextPDF
前言
版本说明
itext7-core=7.1.13
相关链接:
- itextpdf 官网地址:https://itextpdf.com/en
- itextpdf 官方文档:https://kb.itextpdf.com/home/it7kb
- itextpdf 官方 github 地址:https://github.com/itext/itext7
- itextpdf maven 地址:https://mvnrepository.com/artifact/com.itextpdf/itext7-core
核心pom依赖
<!-- https://mvnrepository.com/artifact/com.itextpdf/itext7-core -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.13</version>
<type>pom</type>
</dependency>
入门示例
package top.simba1949;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.UnitValue;
import java.io.File;
import java.io.FileNotFoundException;
/**
* @author Anthony
* @date 2020/12/8 10:03
*/
public class Application {
public static final String FILE_PATH = "D:\\IDE\\IDEA\\workspace\\learn\\test-spring-boot\\itextpdf-learn\\PDF.pdf";
public static void main(String[] args) throws FileNotFoundException {
// 创建一个要生成的PDF文件对象File
File file = new File(FILE_PATH);
// 创建PDF输出流
PdfWriter pdfWriter = new PdfWriter(file);
// 创建文档对象
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
Document document = new Document(pdfDocument);
// 8 表示一行多少列
Table table = new Table(UnitValue.createPercentArray(8)).useAllAvailableWidth();
for (int i = 0; i < 16; i++) {
table.addCell("hi" + i);
}
document.add(table);
// 关闭文档
document.close();
}
}
添加表格
package top.simba1949;
import com.itextpdf.io.font.constants.StandardFonts;
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.colors.ColorConstants;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel