Java分割PDF文件(itextpdf)
使用itextpdf,对PDF文件进行分割
maven依赖
<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version>
</dependency>
实现工具类代码
package com.example.util;import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.*;
import lombok.extern.slf4j.Slf4j;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;/*** PDF处理工具类** @author azhuzhu 2020/8/11 14:53*/
@Slf4j
public class PdfUtil {/*** 将PDF文件切分成多个PDF** @param filename 文件名* @param splitSize 拆分单个文件页数*/public static void splitPdf(String filename, int splitSize) throws Exception {PdfReader reader;try {reader = new PdfReader(filename);} catch (IOException e) {log.error(e.getMessage(), e);throw new Exception("读取PDF文件失败");}int numberOfPages = reader.getNumberOfPages();int newFileCount = 0;// PageNumber是从1开始计数的int pageNumber = 1;while (pageNumber <= numberOfPages) {Document doc = new Document();String splitFileName = filename.substring(0, filename.length() - 4) + "(" + newFileCount + ").pdf";PdfCopy pdfCopy;try {pdfCopy = new PdfCopy(doc, new FileOutputStream(splitFileName));} catch (FileNotFoundException | DocumentException e) {log.error(e.getMessage(), e);throw new Exception("切割文件副本创建失败");}doc.open();// 将pdf按页复制到新建的PDF中for (int i = 1; pageNumber <= numberOfPages && i <= splitSize; ++i, pageNumber++) {doc.newPage();PdfImportedPage page = pdfCopy.getImportedPage(reader, pageNumber);pdfCopy.addPage(page);}doc.close();newFileCount++;pdfCopy.close();}}}
测试类
package com.example.demo;import com.example.util.PdfUtil;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class DemoApplicationTests {@Testvoid contextLoads() throws Exception {PdfUtil.splitPdf("D:/组合 2.pdf", 1);}}
执行结果
Java分割PDF文件(itextpdf)相关推荐
- java分割PDF文件——itextpdf
动机:使用Java将PDF论文分割成一个个4页大小的PDF,便于使用有道翻译免费翻译PDF文档(因为每次只免费翻译4页,使用了不少翻译软件,还是有道翻译好用,翻译质量好,就是收费):顺便练习下写代码. ...
- 如何用 Java 对 PDF 文件进行电子签章
转自:如何用 Java 对 PDF 文件进行电子签章 - Ferocious - 博客园 一.概述 二.技术选型 三.生成一个图片签章 四.如何按模板生成PDF文件 五.如何生成PKSC12证书 六. ...
- 咖啡汪日志——JAVA导出pdf文件加水印 文字+图片、文字
咖啡汪日志--JAVA导出pdf文件加水印 文字和图片.文字 hello,又大家见面了! 作为一只不是在戏精就是在戏精路上的哈士奇,今天要展示给大家的就是如何快捷地给pdf文件增加各种水印.嗷呜呜,前 ...
- # Java 生成pdf文件
Java 生成pdf文件 引入依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <depend ...
- Java生成PDF文件_自用
Java生成PDF文件 一.前言 前几天,做ASN条码收货模块,需要实现打印下载收货报表,经一番查找,选定iText--用于生成PDF文档的一个Java类库.废话不多说,进入正题. 二.iText简介 ...
- Java合并pdf文件
Java合并pdf文件 今天帮老师整理资料需要合并pdf文件,下了许多软件发现都需要VIP才行,所以写了个程序来帮助合并,直接在主程序中修改文件路径即可,如下图: 主要代码如下: package co ...
- Java实现pdf文件转图片
Java实现pdf文件转图片 文章顺序是按照测试类- -Service- -Service实现类- -工具类- - POM依赖. test测试类里 pdfPath:存放pdf源文件的地方 imgflo ...
- java pdf 转换 word_如何使用Java将pdf文件转换为word文件
如何使用Java将pdf文件转换为word文件? 而且,它看起来像它一样容易吗? 解决方法: public class PDFTextReader { static String pdftoText( ...
- 使用java实现pdf文件转换为jpg或者png(可以批量操作、分类存放)
使用java实现pdf文件转换为jpg或者png(可以批量操作) 使用java代码实现将pdf转换为图片格式.支持归类,支持pdf多页分页面转换存放. 需求背景:有几百个文件夹,每个文件夹里有两个pd ...
最新文章
- TiKV 成功晋级 CNCF 孵化项目
- json web token 实践登录以及校验码验证
- join为什么每个字符都分割了 js_js的join()与 split() (转)
- 为什么京东只能对商品评价不能对店铺评价?
- 酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)...
- mybatis批量插入oracle大量数据记录性能问题解决
- ubuntu 16.04 登录后黑屏
- 外包征集令:一个Android TV酒店项目
- 关于DiskFileUpload的杂谈
- android app原型设计工具,手机端APP高仿真(UEUI)原型设计(完整版)
- 软件工程----开发大致流程
- vsCode的使用过程中遇到的问题?
- 腾讯「文涌 (Effidit)」2.0版发布,打造更懂写作的智能助手
- JS - 解决鼠标单击、双击事件冲突问题(同时实现两种事件响应)
- loopback接口的具体作用
- Linux(Centos7.8)中conda虚拟环境搭建LSTM神经网络基于django3.1.2的api接口
- [LOJ6515]「雅礼集训 2018 Day10」贪玩蓝月
- 国庆放假前一周,再学这些技术,安安稳稳过假期
- 解决了联想i908手机SIM卡注册失败、受限服务的BUG
- windows 批处理文件