JAVA将一个pdf按页码拆分成多个pdf
2024-10-17 15:39:21
引入maven
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.47</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
<version>1.47</version>
</dependency>
public static void main(String[] args) throws Exception {
// 根据页码拆分pdf,有多少页就拆成多少张pdf
File file = new File("pdf文件绝对路径");
PdfReader pdfReader = new PdfReader(new FileInputStream(file));
int pages = pdfReader.getNumberOfPages();
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
for (int i = 1; i <= pages; i++) {
PdfReader reader = new PdfReader("pdf文件绝对路径");
Document doc = new Document();
// 每个pdf命名规则:时间戳(2019109143408)+"-"+顺序编号(i)
String pdfName = "D:/test/" + df.format(new Date()) + "-" + i + ".pdf";
PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(pdfName));
doc.open();
PdfContentByte cb = writer.getDirectContent();
doc.newPage();
cb.addTemplate(writer.getImportedPage(reader, i), 0, 0);
doc.close();
writer.close();
reader.close();
}
}
最新文章
- {POJ}{3903}{Stock Exchange}{nlogn 最长上升子序列}
- 如何编写 Cloud9 JavaScript IDE 的功能扩展
- java11-1 最常见的类 String类
- 代码实现UI控件
- Could not write metadata for &#39;/taiping-sol-insu-composite&#39;.
- Win8环境下 IIS6部署MVC网站出现的无法显示此网页错误
- Docker大行其道—镜像
- 适配iOS7uinavigationbar遮挡tableView的问题
- 拾人牙慧,浅记一些C++的类
- mysql编码设置 [http://blog.knowsky.com/254652.htm]
- JSP内置对象--response对象 (addCookie(),setHeader(),sendRedirect())
- 【Android Developers Training】 31. 序言:共享简单数据
- 字体类形:font-family, font-style
- Django学习-7-ORM操作
- php SESSION入库的实现
- Python从入门到精通之Forth!
- 单元测试系列之七:Sonar 数据库表关系整理一(rule相关)
- ADO.NET 4.5中的异步与流特性
- python自动化之鼠标移动
- WinRAR打包时不包含文件夹本身,只打包文件夹里的文件和目录