概述
Android通过itext7,在pdf模板基础上进行动态添加数据
在build.gradle中添加依赖
dependencies {
implementation 'com.itextpdf:itext7-core:7.1.16'
}
如需保存本地则需要添加权限,动态添加自行搜索
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
实现方法
PdfReader reader = new PdfReader(is);
File outputFile = new File(url);
PdfDocument pdfDoc = new PdfDocument(reader, new PdfWriter(outputFile));
Document document = new Document(pdfDoc);
Rectangle pageSize = pdfDoc.getPage(1).getPageSize();
float height = pageSize.getHeight();
PdfFont font = null;
try {
font = PdfFontFactory.createFont("STSong-Light", "UniGB-UCS2-H", false);
} catch (IOException e) {
e.printStackTrace();
Log.e("TAG", "addTextToPage: " + e.getMessage());
}
Paragraph p = new Paragraph(text)
.setFont(font)
.setFontSize(10)
.setFixedPosition(1, x, y, 200);
document.add(p);
document.close();