Android实现通过pdf模板动态添加数据生成pdf文件

概述

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); //参数为pdf模板路径

 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) //test为添加的数据
                .setFont(font)
                .setFontSize(10)
                .setFixedPosition(1, x, y, 200); // pdf模板第几页,x,y坐标,200 是文本区域宽度
        document.add(p);
 // 6. 关闭文档
 document.close();
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值