• 一个页拆分多个页,按照流水
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一页拆分多页的更多相关文章

  1. 怎样把PDF文件中的一页提取出来

    现在随着网络科技的发展在网上找资源找文件就像家常便饭一样,但是有很多文件下载完成之后只有几页是需要的这时候就很困惑了,这么多怎么才能看完啊.这样为了不浪费时间可以将有用的一页提取出来,进行使用,那怎样 ...

  2. 【转】pdf 中如何把几页缩小成一页打印

    我用的是Foxit PDF Reader,可以这样设置:文件-打印-打印处理下的页面排列选择“在每张纸上放置多页”-选择每页版数即可. 如果你用的是Adobe Reader,也可以自己找一下,看是否有 ...

  3. 【Itext】7步制作Itext5页眉页脚pdf实现第几页共几页

    itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...

  4. C#生成PDF页脚第几页共几页

    C#生成PDF页脚第几页共几页 分类: .net 2012-06-06 21:04 2842人阅读 评论(3) 收藏 举报 c#stringfontsfileheaderwindows 我在网上找了好 ...

  5. C# 给现有PDF文档添加页眉、页脚

    概述 页眉页脚是一篇完整.精致的文档的重要组成部分.在页眉页脚处,可以呈现的内容很多,如公司名称.页码.工作表名.日期.图片,如LOGO.标记等.在之前的文章中介绍了如何通过新建一页空白PDF页来添加 ...

  6. 如何给pdf文件中的一页添加水印

    如题所述,项目需求.要把一份文件尾部加上签章,首先想到的就是水印. 开始试过了无论是word还是wps所谓的水印其实就是页脚或页眉统一格式,无法单一一个页面操作,要加所有的页面都有. 纵然wps有个功 ...

  7. iText + Freemarker实现pdf的导出,支持中文、css以及图片,页眉页脚,页眉添加图片

    本文为了记录自己的实现过程,具体的实现步骤是参考博文 https://www.cnblogs.com/youzhibing/p/7692366.html 来实现的,只是在他的基础上添加了页眉页脚及页眉 ...

  8. iText导出PDF(图片,水印,页眉,页脚)

    项目需要导出PDF,导出的内容包含图片和文本,而且图片的数量不确定,在网上百度发现大家都在用iText,在官网发现可以把html转换为PDF,但是需要收费,那就只能自己写了. 在开始之前先在网上百度了 ...

  9. iText5报表_页眉与页脚

    1.概述       iText5中并没有之前版本HeaderFooter对象设置页眉和页脚,可以利用PdfPageEventHelper来完成页眉页脚的设置工作.PdfPageEventHelper ...

  10. phpcms替换类列表页,内容页,主页

    phpcms替换类列表页,内容页,主页   利用phpcms制作企业站,首先要将静态的企业主页替换成后台可编辑的动态主页. 在phpcms/install_package/phpcms/templat ...

随机推荐

  1. 敌兵布阵 HDU - 1166 - 单点修改,区间查询:树状数组/线段树

    C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况.由于 ...

  2. vue dialog弹窗

    <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title=&quo ...

  3. QDateEdit

    self.dateEdit.setCalendarPopup(True) # 日历增加 # 日历转化位str类型begintime = self.dateEdit.dateTime().toStrin ...

  4. 暑假学习五 8.28日 hdfs

    文件系统 文件系统:存储和组织数据的方式,实现了数据的存储,分级组织,访问和获取,使用树状结构 数据:数据本身.文件系统元数据:文件大小,最后修改时间....描述性的数据 分布式文件系统 核心属性: ...

  5. Java基础——方法

    package com.zhao.demo; public class Demo07 { /* public static void main(String[] args) { //getSum(10 ...

  6. 网络图片转InputStream,网络图片转MultipartFile,InputStream转MultipartFile

    头疼,不废话直接上代码 <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> ...

  7. [2002年NOIP提高组] 均分纸牌

    有 N 堆纸牌,编号分别为 1,2,-, N.每堆上有若干张,但纸牌总数必为 N 的倍数.可以在任一堆上取若于张纸牌,然后移动.移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上:在编 ...

  8. MarkDown学习笔记1

    # MarkDown学习(一级标题)## 标题(二级)### 三级标题#### 四级标题## 字体*Hello,World!斜体***Hello,World!加粗*****Hello,World!加粗 ...

  9. js检测邮箱格式,正则检测邮箱格式

    网上搜了关于邮箱格式的检测,发现很多不太适用,我自己写了一个,可以检测有开头和没开头的,又可以检测@,@qq. 后的格式 var myReg=/^(\w|(\.\w+))+@([a-zA-Z0-9_- ...

  10. ajax异步参数详解及alax错误信息error分析

    一.$.ajax()的参数列表 ↑ 下面是Jquery中AJAX参数详细列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: & ...