`
zhengjj_2009
  • 浏览: 153659 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自己整理的java版的PDF分割实用代码

 
阅读更多

最近在上下班的路上看pdf文件比较多,想把整本书dpdf分割成对应的章节,所以自己看了一些参考资料后,自己写了一个小程序,实现了自己的想法。

我的基本需求是:提供一个pdf文件的全路径 + 新生成pdf文件名称 + 起始页码 + 结束页码 最后就能在相同目录下找到新文件。

可以运行的代码是(需要导入的三个jar包见附件)

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();
		}
	}

}

 

 

3
7
分享到:
评论
2 楼 zhengjj_2009 2013-04-03  
我为了安全起见,所以放了两个jar,其实一个应该可以了。
1 楼 tjj006 2013-04-03  
为什么需要两个ITEXT包??

相关推荐

    PDF分割合并软件

    PDF分割合并软件是一种高效实用的工具,专门针对PDF文档处理,提供PDF的分割与合并功能。在日常工作中,我们常常会遇到需要将大型PDF文件拆分成更小的部分,或者将多个独立的PDF文件整合成一个统一的文档。这款软件...

    PDF分割-合并工具

    PDF分割与合并工具是IT行业中处理PDF文档时不可或缺的实用软件。PDF(Portable Document Format)是一种通用的文件格式,常用于共享和打印文档,因为它的布局和格式在各种设备上都能保持一致。然而,有时我们需要将...

    pdf文件分割合并软件绿色

    总的来说,"PDF文件分割合并软件绿色"是一款实用且安全的工具,它简化了对PDF文档的管理工作,无论是为了方便阅读、分享,还是为了整理存储,都是处理PDF文件的好帮手。了解并熟练使用这样的工具,能大大提高我们的...

    iText操作Pdf简单整理

    在实际开发中,`iText操作Pdf简单整理.txt`可能包含了关于如何使用这些功能的示例代码和说明,通过学习和实践,开发者能够熟练掌握iText,满足各种PDF文档处理需求。 总的来说,iText是一款功能丰富的PDF处理工具,...

    expdf_单层pdf源代码_PDF单层_

    对于需要处理大量图片并生成PDF的场景,这样的源代码非常实用,可以显著提高工作效率。 总之,“expdf_单层pdf源代码_PDF单层”提供的源代码是实现图片到单层PDF转换的一个实例,涵盖了图像处理、PDF生成和页面布局...

    Python实现抓取HTML网页并以PDF文件形式保存的方法

    总的来说,通过结合`requests`、`beautifulsoup4`、`pdfkit`和`PyPDF2`,我们可以轻松地实现从HTML网页抓取内容并保存为PDF的功能,这对于数据分析、文档整理或者自动化报告生成等场景都非常实用。

    PDF合并工具.zip

    PDF合并工具是一款基于VS(Visual Studio)开发的源代码项目,其主要功能是将多个PDF文档整合成一个单一的PDF文件。...这对于扩展其他PDF相关的应用,如PDF分割、加密、解密等,都是非常有价值的。

    PDFExtractor:分割PDF的Java程序

    PDFExtractor是一个基于Java开发的实用工具,专门用于对PDF文档进行高效、精确的页面分割操作。这个程序允许用户根据指定的页码或者页码范围,从原始PDF文档中提取出部分页面,然后创建新的PDF文件。这样的功能在...

    C#经典特效代码470例(PDF已经整理)

    ### C#经典特效代码470例概览与关键技术解析 #### 一、窗体与界面设计 在C#开发中,窗体与界面的设计是非常重要的一个方面,它直接影响到用户的体验以及软件的整体美观度。本节将详细介绍《C#经典特效代码470例》...

    PDF页面切割.rar

    用户可能只需要通过简单的界面交互,指定输入PDF文件和切割方式(如左右平均分割或上下平均分割),就可以完成页面切割,无需编写任何代码。这样的工具对于非程序员或者不熟悉编程的人来说非常方便。 PDF页面切割...

    PDF书籍拆分

    PDF书籍拆分是一种常见的文档处理任务,特别是在学术研究、教育或文档整理中。这个主题涉及到如何将一个完整的PDF文件按照需求分割成多个独立的部分,以便更方便地管理和使用。在这个过程中,我们通常会使用特定的...

    sql表分区和索引[整理].pdf

    在SQL Server 6.5及更早版本中,实现分区通常需要创建多个物理表,并通过存储过程、视图或客户端代码来管理数据访问。这种方法虽然能在一定程度上提升性能,但增加了设计的复杂度,用户和开发者需要清楚地知道如何...

    PHP和MySQL Web开发第4版pdf以及源码

    《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 ...

    Python一键提取PDF中的表格到Excel

    "Python一键提取PDF中的表格到Excel"是一个常见的需求,尤其是在数据分析、报表整理等场景下。这个话题涉及到Python的两个关键库:PyPDF2用于读取PDF文件,pandas则用于处理和转换数据,最终将表格数据保存为Excel...

    Python开发笔记整理 Python开发知识总结汇总 共25页.pdf

    partition方法则根据指定子串将字符串分割为三部分,方便进行字符串解析。 split方法按指定分隔符将字符串拆分为列表,而join方法将字符串列表合并成一个字符串,中间插入指定的分隔符。find方法返回子串的位置,不...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可...

    vi_improved.pdf

    11. **自动补全**:利用`Ctrl+P`等命令进行代码片段或文件名的自动补全,提高编写代码的效率。 12. **自定义命令**:通过定义自定义命令,可以将复杂的操作简化为单个命令。例如,`:command! Upper s/\v\l//g`可以...

    Pdf Split and Merge with Bookmark Import:PDF与书签和分页合并-开源

    总的来说,PDF Split and Merge with Bookmark Import 是一款强大且实用的PDF处理工具,尤其适合需要频繁整理和编辑PDF文档的用户。它的开源性质和丰富的功能集使其成为个人和组织处理PDF文档的理想选择。

    C语言经典算法100例.pdf

    根据提供的文件信息,“C语言经典算法100例.pdf”主要聚焦于C语言中的经典算法案例,这表明文档内包含了100个实用且经典的C语言编程算法实例。虽然给出的部分内容并未直接提及具体的算法细节,但从其描述及标签来看...

Global site tag (gtag.js) - Google Analytics