银行对账单PDF一页拆分多页
- 一个页拆分多个页,按照流水
String bank = "{\n" +
"\t\"bank\" : [\n" +
"\t\t{\n" +
"\t\t\t\"name\" : \"中国农业银行\",\n" +
"\t\t\t\"tableWidth\" : 279,\n" +
"\t\t\t\"split\" : 3\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\" : \"中国银行\",\n" +
"\t\t\t\"tableWidth\" : 420,\n" +
"\t\t\t\"split\" : 2\n" +
"\t\t},\n" +
"\t\t{\n" +
"\t\t\t\"name\" : \"中国工商银行\",\n" +
"\t\t\t\"tableWidth\" : 414,\n" +
"\t\t\t\"split\" : 2\n" +
"\t\t}\n" +
"\t]\n" +
"}\n";
JSONObject jsonObject = JSONObject.parseObject(bank);
List<JSONObject> jsonObjectList = (List<JSONObject>) JSONPath.read(bank, "$bank[?(@.name='中国工商银行')]");
String filename = jsonObjectList.get(0).getString("name");
Integer tableWidth = jsonObjectList.get(0).getInteger("tableWidth");
Integer split = jsonObjectList.get(0).getInteger("split");
try (InputStream resource = new FileInputStream(new File("c:\\" + filename + ".pdf"));
OutputStream result = new FileOutputStream(new File("c:\\" + filename + "-split.pdf"))) {
Abstract2DPdfPageSplittingTool tool = new Abstract2DPdfPageSplittingTool() {
@Override
protected Iterable<Rectangle> determineSplitRectangles(PdfReader reader, int page) {
Rectangle targetSize = PageSize.A4;
List<Rectangle> rectangles = new ArrayList<>();
float pageHeight = targetSize.getHeight();
float pageWidth = targetSize.getWidth();
for (int i = 0; i < split; i++) {
rectangles.add(new Rectangle(0, pageHeight, pageWidth, pageHeight - tableWidth));
pageHeight = pageHeight - tableWidth;
}
return rectangles;
}
};
tool.split(result, new PdfReader(resource));
}
银行对账单PDF一页拆分多页的更多相关文章
- 怎样把PDF文件中的一页提取出来
现在随着网络科技的发展在网上找资源找文件就像家常便饭一样,但是有很多文件下载完成之后只有几页是需要的这时候就很困惑了,这么多怎么才能看完啊.这样为了不浪费时间可以将有用的一页提取出来,进行使用,那怎样 ...
- 【转】pdf 中如何把几页缩小成一页打印
我用的是Foxit PDF Reader,可以这样设置:文件-打印-打印处理下的页面排列选择“在每张纸上放置多页”-选择每页版数即可. 如果你用的是Adobe Reader,也可以自己找一下,看是否有 ...
- 【Itext】7步制作Itext5页眉页脚pdf实现第几页共几页
itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...
- C#生成PDF页脚第几页共几页
C#生成PDF页脚第几页共几页 分类: .net 2012-06-06 21:04 2842人阅读 评论(3) 收藏 举报 c#stringfontsfileheaderwindows 我在网上找了好 ...
- C# 给现有PDF文档添加页眉、页脚
概述 页眉页脚是一篇完整.精致的文档的重要组成部分.在页眉页脚处,可以呈现的内容很多,如公司名称.页码.工作表名.日期.图片,如LOGO.标记等.在之前的文章中介绍了如何通过新建一页空白PDF页来添加 ...
- 如何给pdf文件中的一页添加水印
如题所述,项目需求.要把一份文件尾部加上签章,首先想到的就是水印. 开始试过了无论是word还是wps所谓的水印其实就是页脚或页眉统一格式,无法单一一个页面操作,要加所有的页面都有. 纵然wps有个功 ...
- iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片
本文为了记录自己的实现过程,具体的实现步骤是参考博文 https://www.cnblogs.com/youzhibing/p/7692366.html 来实现的,只是在他的基础上添加了页眉页脚及页眉 ...
- iText导出PDF(图片,水印,页眉,页脚)
项目需要导出PDF,导出的内容包含图片和文本,而且图片的数量不确定,在网上百度发现大家都在用iText,在官网发现可以把html转换为PDF,但是需要收费,那就只能自己写了. 在开始之前先在网上百度了 ...
- iText5报表_页眉与页脚
1.概述 iText5中并没有之前版本HeaderFooter对象设置页眉和页脚,可以利用PdfPageEventHelper来完成页眉页脚的设置工作.PdfPageEventHelper ...
- phpcms替换类列表页,内容页,主页
phpcms替换类列表页,内容页,主页 利用phpcms制作企业站,首先要将静态的企业主页替换成后台可编辑的动态主页. 在phpcms/install_package/phpcms/templat ...
随机推荐
- Centos安装后出现please make your choice from '1' to eter the license information spoke | 'q' to quit |'c' to continue |'r' to refresh
这是要求用户阅读或者接收协议: 解决方法:输入"1",按Enter键 阅读许可协议,输入"2",按Enter键 接受许可协议,输入"q" ...
- babel npm包说明
babel-plugin-import 用于按需加载,在使用antd 的时候引入,可以减少包体积
- centos7 yum安装配置Lnmp和负载配置
首先配置防火墙CentOS 7.0默认使用的是firewall作为防火墙1.关闭firewall: systemctl stop firewalld.service #停止firewallsystem ...
- SpringCloud-Hoxton.SR1-config整合
1.前一篇讲到了整合eureka和gateway,实现了服务的发现与注册以及网关的统一入口,这一篇在此基础上整合分布式配置中心config,首先新建一个子项目config-services作为服务端, ...
- Android studio学习笔记2
Android studio学习笔记2 20201303张奕博 2023.1.14 android studio动态调试apk 1.配置环境 android studio需要安装插件:1,Smalid ...
- 如何判断JS数据类型
在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined.N ...
- Ubuntu 20.04 部署kubernetes 网络组件calico-v3.2.1
1.官方网址: https://projectcalico.docs.tigera.io/archive/v3.21/getting-started/kubernetes/self-managed-o ...
- Cadvisor+prometheus+grafana
部署Cadvisor [root@localhost ~]# docker run -d \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro ...
- MyBatis Plus 设置ID的自增 /非自增时遇到的问题
非自增时 自己设置ID 其他可参考------>主键策略的几种类型 https://blog.csdn.net/hxyascx/article/details/105401767
- 前端使用JSEncrypt进行加密和解密
下载链接:https://www.bootcdn.cn/jsencrypt/ 使用方法: 1.引入jsencrypt 2.使用方法 // 加密公钥 const key = `xxxxxx`; func ...