自己整理的java版的PDF分割实用代码
2017-07-07 09:29
295 查看
http://zhengjj-2009.iteye.com/blog/1841190原文地址
最近在上下班的路上看pdf文件比较多,想把整本书dpdf分割成对应的章节,所以自己看了一些参考资料后,自己写了一个小程序,实现了自己的想法。我的基本需求是:提供一个pdf文件的全路径 + 新生成pdf文件名称 + 起始页码 + 结束页码 最后就能在相同目录下找到新文件。
可以运行的代码是(需要导入的三个jar包见附件)
Java代码
package com.peter.utils;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
public class MyPDFUtil {
public static void main(String[] args) {
partitionPdfFile("D:\\mag_test\\test_pdf.pdf","Chapter04.pdf", 11,23);
}
/**
* 截取pdfFile的第from页至第end页,组成一个新的文件名
* @param pdfFile
* @param subfileName
* @param from
* @param end
*/
public static void partitionPdfFile(String pdfFile,
String newFile, int from, int end) {
Document document = null;
PdfCopy copy = null;
try {
PdfReader reader = new PdfReader(pdfFile);
int n = reader.getNumberOfPages();
if(end==0){
end = n;
}
ArrayList<String> savepaths = new ArrayList<String>();
String staticpath = pdfFile.substring(0, pdfFile.lastIndexOf("\\")+1);
String savepath = staticpath+ newFile;
savepaths.add(savepath);
document = new Document(reader.getPageSize(1));
copy = new PdfCopy(document, new FileOutputStream(savepaths.get(0)));
document.open();
for(int j=from; j<=end; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
}
document.close();
} catch (IOException e) {
e.printStackTrace();
} catch(DocumentException e) {
e.printStackTrace();
}
}
}
itext-2.0.2.jar (1.3 MB)
下载次数: 362
iText-2.1.4.jar (1 MB)
下载次数: 149
bcprov-jdk15-139.jar (1.5 MB)
下载次数: 156
相关文章推荐
- 自己整理的java版的PDF分割实用代码
- JNI_最简单的Java调用C/C++代码(自己整理)
- 自己整理的一套java编码规则,让自己写代码不会那么乱
- 在windows和Linux上安装ImageMagick与jmagick,Maven配置、Java图片压缩代码(整理网上、结合自己情况、编写出来的新安装方式)
- JAVA学习(十二)__关于JAVA代码里黄色警告线的注意方法(自己整理)
- 在windows和Linux上安装ImageMagick与jmagick,Maven配置、Java图片压缩代码(整理网上、结合自己情况、编写出来的新安装方式)
- 一些自己整理实用代码
- 2014年5月3日整理java笔试题+答案和自己的代码
- java程序员第五课 分享下自己之前录制的视频汇总以及整理的pdf
- 自己整理的一些.net实用的代码!
- 实用phpcms v9代码(自己整理的)
- 自己刚整理的一些实用英语,慢慢学,享受啊
- 自己收集整理的 DELPHI 中控制与使用HMTL帮助文件的单元代码。
- 根据网上搜到的代码,自己整理的jpeg解码程序
- 自己写的分页代码---简洁实用
- Java实现HTML代码生成PDF文档
- 发一个自己用JS写的实用看图工具实现代码
- [JAVA实用应用] 项目代码行数统计器,帮助你统计项目一共有多少行代码
- (分享)自己整理的一些简单awk实用语句
- 自己的技术经验和心得,及常用的资料和代码如何整理、分类和保存才好呢?