银行对账单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 ...
随机推荐
- SQL Server数据库备份和还原
当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 备份 打开SQL server management ...
- tomcat多主多备
主服务器默认轮询,当主服务器全部挂了,就会访问备机backup,备机也默认轮询
- 手机端 replaceAll没有执行吗
let item = _styleArr[i].replace(' ','').split(':'): 不知道为什么,好像replaceAll没有执行,后来改成replace好了.
- vue中标签的替换以及scoped实现css对当前文件起作用的原理
1,vue的工作原理其实就是我们前端拿到组件模板(也就是编译打包后生成的js文件,由vue动态生成html标签以及异步请求服务器的数据,更新html页面展示给用户) 如上图所示,public文件夹下的 ...
- CompletableFuture的使用
1 List<List<String>> subList = CommonUtils.splitList(pendingIds, 500);private static fin ...
- 5分钟上手使用vuex,vuex状态管理,vuex遇到的坑
很多刚学习vue的人对于全局变量管理工具vuex都觉得很神秘,今天就用很通俗的大白话协助大家理解一下vuex,作者的vue项目使用vue脚手架搭建的,用脚手架搭建的项目会在src文件夹下有一个stor ...
- 寻找进程ID
- js-模态框的拖动
效果如下: 代码如下: <div class="clickBtn">点击,弹出登录框</div> <div class="login&quo ...
- java使用minio上传下载文件
Minio模板类: @RequiredArgsConstructor public class MinioTemplate implements InitializingBean { private ...
- Ant Design 抽屉(tabel)
效果图如下,因部分涉及到人员隐私,所以打码了,就是一些图片文字信息. 有不足的地方可以麻烦提出来的,一起学习的. <template> <a-drawer v-model:visib ...