1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android利用itext5制作pdf Itext5生成PDF

android利用itext5制作pdf Itext5生成PDF

时间:2018-08-20 08:46:33

相关推荐

android利用itext5制作pdf Itext5生成PDF

Itext5生成PDF

Itext

官网

Java操作pdf方法

通过Adobe Acrobat生成pdf form,通过Java设置form表单中的元素值进行数据填充。

读取pdf通过坐标进行填充数据,绘制成结果pdf。

通过itext代码绘制pdf。

Acrobat制作模板

先用Excel制作一个Excel模板,另存为PDF文件。

用Adobe Acrobat Pro DC打开PDF模板文件,打开表单功能,在指定地方添加文字域,模板即可制作完成。

Java代码填充AcroField

Java代码对Acrobat制作的PDF中的Form进行填充。

Maven坐标

properties

itextpdf.version5.5.6/itextpdf.version

/properties

dependencies

dependency

groupIdcom.itextpdf/groupId

artifactIditextpdf/artifactId

version${itextpdf.version}/version

/dependency

dependency

groupIdcom.itextpdf.tool/groupId

artifactIdxmlworker/artifactId

version${itextpdf.version}/version

/dependency

dependency

groupIdcom.itextpdf/groupId

artifactIditext-asian/artifactId

version5.2.0/version

/dependency

/dependencies

Java代码

//设置字体

//BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

/*模板*/

PdfReader reader = new PdfReader("发票模板.pdf");

ByteArrayOutputStream bos = new ByteArrayOutputStream();

PdfStamper ps = new PdfStamper(reader, bos);

/*使用中文字体 使用 AcroFields填充值的不需要在程序中设置字体,在模板文件中设置字体为中文字体 Adobe 宋体 std L*/

AcroFields s = ps.getAcroFields();

//设置表单的key-value值

//通过s.setFieldProperty("字段名", "textfont", BaseFont , null); 设置字段的格式或者在模板中修改样式

//s.setFieldProperty("checkNo","textfont",bfChinese,null);

s.setField("checkNo", "0204");

s.setField("$info$", "测试单位");

s.setField("$projectName_1$", "测试项目");

s.setField("$num_1$", "2");

s.setField("$bw_1$", "1");

s.setField("$amount_1$", "100000000");

s.setField("$total$", "壹佰万整");

s.setField("$bz_1$", "个");

s.setField("$SKR$", "测试人");

s.setField("$SKDW$", "测试单位");

s.setField("$year$", "");

s.setField("$month$", "11");

s.setField("$day$", "08");

// 设为true,设置为false后生成的pdf依然可编辑

ps.setFormFlattening(true);

ps.close();

/*输出到指定位置*/

FileOutputStream fos = new FileOutputStream("d:\\发票.pdf");

fos.write(bos.toByteArray());

输出展示

参考:

/u011391773/article/details/53084231

/sand_clock/article/details/85328849

Itext5生成PDF 相关文章

自己写的一个java小脚本,用于comsol仿真声子晶体的能带图数据直接生成origin可以用的csv文件!

import javax.security.auth.login.CredentialException;import java.io.*;import java.util.Arrays;public class Hannscript { //判断几行 public static int count = 0; public static void main(String[] args) throws IOException { //String path = Thr

Github Pages 的特性来部署由 Hexo 框架渲染生成的静态博客

准备环境 安装 Hexo 注册 Github 配置 SSH key 部署到 Github 开始写作 主题设置 七牛实现图床 个性化主题 添加评论功能 环境准备 shiyanlou:project/ $ git version [18:28:15] git version 2.7.4 shiyanlou:project/ $ node -v [18:28:24] v12.14.1 shiyan

Degree of Spanning Tree 南京ICPC 生成树+并查集+思维

Degree of Spanning Tree 生成树 + 思维 题目大意: 给你一张 \(n\) 个节点 \(m\) 条边的无向图,你可以删去一些节点使得这张图变成一棵树,要求每一个节点的度数小于等于 \(\frac{n}{2}\) 题解: 要一步一步的分析 首先分析如何把一张图变成一棵树,并查集

golang 生成rsa秘钥对

需求:golang生成秘钥对,秘钥有密码 package mainimport ("crypto/rand""crypto/rsa""crypto/x509""encoding/pem""fmt""os")func generateRSAKey(pripath, pubpath, passwd string) error {privateKey, err := rsa.GenerateKey(rand.Reader, 2048)if err !=

WinDbg分析DUMP文件

1. 如何生成dump文件 原理:通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件; SetUnhandledExceptionFilter:/query/dev10.queryappId=Dev10IDEF1l=EN-USk=k(SETUNHANDLEDEXCEPTIONFI

一个网址,需要生成一个带有人脸识别功能的APP如何做

问题:一个官网地址,需要生成一个带有人脸识别功能的APP如何做 操作步骤: 第一步:进入中控易动平台,创建一个应用,创建完成进入应用 注意:首页网址输入的是:自己的官网地址 第二步:添加人脸识别插件(ArcSoftFace插件) 第三步:查看插件文档,配置插

自动生成业务编号 备份

String sqlCode = "SELECT MAX(code) as code from gongzuo where year(create_date) = year(NOW()) and month(create_date)=month(NOW()) "; String delegateCode = jdbcTemplate.queryForObject(sqlCode, String.class); StringB String sqlCode = "SELECT

Javadoc生成文档

1 package com.lin.base; 2 3 /** 4 * @author Lin 5 * @version 1.0 6 * @since 11 7 */ 8 public class Doc { 9 String name;10 11 /**12 *13 * @param name14 * @return15 * @throws Exception16 */17 public String test(String name)throws Exception{1

使用IDEA的webservice工具解析生成的客户端调用远程接口

由于这个接口的报文格式比较麻烦,是XML的请求头加上JSON格式的请求体,所以看起来比较复杂,也可以用RPC的方式调用,那样需要将请求头和请求体,响应头和响应体建实体。 public JSONObject sendReq(PortTypeEnum portTypeEnum,JSONObject reqBody){ Main ma

allure生成的报告打开后显示loading

allure生成的报告打开后显示loading,怎么办 1. allure生成报告的命令 1.1、生成测试数据 # 命令格式:pytest 相关参数 指定执行的用例 --alluredir=数据存放的路径# 参数:--alluredir指定结果数据保存的目录,可以用等号,也可以空格# 命令示例1:④pytest

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。