在进行开发的时候,需要在每个页面进行盖章
import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import uk.ltd.getahead.dwr.util.Logger; 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 PdfOperateUtil { private static Logger log = Logger.getLogger(PdfOperateUtil.class); public static void main(String[] args) throws Exception { List<String> list = splitPdfFile("D:\\report\\GISS\\20150708113914663_LIST_133.pdf"); for(String fileName : list){ System.out.println(fileName); } //合并 mergePdfFiles(list,"D:\\report\\GISS\\20150708113914663_LIST_gaoweigang.pdf"); } /** * PDF合并 * @param files * @param savepath */ public static void mergePdfFiles(List<String> files, String savepath) { try { Document document = new Document(new PdfReader(files.get(0)).getPageSize(1)); PdfCopy copy = new PdfCopy(document, new FileOutputStream(savepath)); document.open(); for (int i = 0; i < files.size(); i++) { PdfReader reader = new PdfReader(files.get(i)); int n = reader.getNumberOfPages(); for (int j = 1; j <= n; j++) { document.newPage(); PdfImportedPage page = copy.getImportedPage(reader, j); copy.addPage(page); } } document.close(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } } /** * PDF拆分 * @param filepath */ public static List<String> splitPdfFile(String filepath) throws Exception{ log.info("进入splitPdfFile方法"); List<String> fileFullNameList = new ArrayList<String>();//存放拆分之后的文件全路径 Document document = null; PdfCopy copy = null; try { PdfReader reader = new PdfReader(filepath); int n = reader.getNumberOfPages();//获取源PDF共有多少页 if (n == 1) {//如果只有一页 fileFullNameList.add(filepath); return fileFullNameList; } //如果有多页PDF String remotePath = filepath.substring(0,filepath.lastIndexOf("\\") + 1);//临时文件 log.info("remote path:"+remotePath); String splitfilename = null;//文件名 String splitfilefullname = null;//文件全路径 for (int i = 1; i <= n; i++) { splitfilename = filepath.substring( filepath.lastIndexOf("\\") + 1,filepath.length() - 4); splitfilefullname = remotePath + splitfilename + "_" + i + ".pdf"; fileFullNameList.add(splitfilefullname); } for (int i = 0; i < n; i++) { //创建一个新的文档,文档大小与reader相同 document = new Document(reader.getPageSize(1)); copy = new PdfCopy(document, new FileOutputStream( fileFullNameList.get(i))); document.open(); document.newPage(); //从输入流 中抓取 指定页面 PdfImportedPage page = copy.getImportedPage(reader, i+1); //将 指定页面 复制到 输出流 copy.addPage(page); document.close(); } log.info("拆分成:"+fileFullNameList.size()+"页"); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } log.info("退出splitPdfFile方法"); return fileFullNameList; } }
相关推荐
网上很多PDF合并与拆分工具,都是收费的,但是这个工具是真正意义上免费的。无任何限制、无水印,不限制页数,可以在PDF文档中提取任意位置任意页数组成一个新文档。也可以将很多PDF文档合并成一个新的文档。
"PDF拆分及合并工具"就是针对这种情况设计的实用软件,能够帮助用户高效地处理PDF文档。 PDF拆分工具的主要功能是将一个大的PDF文件分割成多个小的PDF文件。这在处理包含多章节的长篇文档或者需要分别处理不同部分...
标题中的“C# PDF拆分合并工具源码”指的是一个基于C#编程语言开发的软件,主要用于处理PDF文档,能够实现PDF文件的合并与拆分功能。这种工具在日常工作中非常实用,尤其对于需要处理大量PDF文档的用户,能够极大地...
本文将深入探讨“PDF拆分及合并”的主题,并基于提供的文件信息给出相应的知识点。 首先,PDF拆分是指将一个大的PDF文件分割成多个较小的PDF文件,每个小文件通常包含原文件的一部分页面。这种操作对于管理和组织...
1. **PDF拆分**:这个工具能够将一个多页的PDF文件按照页面进行拆分,将原本的文件分割成多个单页PDF文件。这样的功能对于处理包含多个独立部分的长文档特别有用,比如学术论文、报告或合同,用户可以根据需要只提取...
2. **PDF拆分**:Spire.Pdf也允许你从一个PDF文档中提取部分页面,创建新的PDF文件。这在需要提取特定页面或章节时特别有用。以下是如何拆分PDF的示例: ```csharp using Spire.Pdf; using System.IO; // 加载PDF...
在“PDF拆分合并”这部分,Aspose.Pdf可以方便地将一个PDF文件拆分为多个单独的文件,或者将多个PDF文件合并成一个。 4. **PDF转换**: 在实际应用中,将Excel转换为PDF有助于保持格式的一致性,便于分享和打印。...
根据提供的文件信息,我们可以深入探讨如何使用iText库在Java环境中进行PDF文件的合并与拆分操作。以下是对这些操作的详细解释。 ### iText简介 iText 是一个开源库,用于生成、修改以及处理PDF文件。它支持多种...
Java文件的拆分与合并 一、Java文件的拆分 Java文件的拆分是指将一个大的Java文件分割成多个小的文件,以便于更好地管理和维护。在上述代码中,我们可以看到,作者使用了Java的文件操作类库来实现文件的拆分...
在这种情况下,"PDF拆分合并"工具显得尤为重要。本压缩包文件“pdf9spliter.zip”正是为了解决这类问题而设计的,它包含了"PDF9Splitter"这款软件,可以高效地实现PDF的拆分与合并功能。 首先,我们来看"PDF9...
本文将深入探讨PDF合并与拆分这一主题,并介绍一种免安装版本的PDF处理工具。 PDF合并是指将多个PDF文件整合成一个单一的PDF文档,这在整理报告、论文或手册时非常有用。合并PDF文件通常涉及到调整文件顺序、添加...
python pdf 拆分 合并,给出要拆分页码头尾,就可拆分合并pdf为小pdf文件
以下是使用Spire.Pdf拆分PDF的基本步骤: - 首先,我们需要引入Spire.Pdf命名空间: ```csharp using Spire.Pdf; ``` - 接着,加载要拆分的PDF文档: ```csharp PdfDocument pdfDocument = new PdfDocument(); ...
本文将介绍一款免费的PDF拆分合并工具,这款工具无需会员,也不需要安装,操作简单,支持批量处理,且无文件大小限制。 首先,这款PDF工具提供了两种版本供用户选择:安装版和免安装压缩包版。安装版可以通过提供的...
本文将详细介绍PDF文件拆分合并工具的功能、操作方法以及在实际工作中的应用场景。 PDF拆合机是一种专门针对PDF文档设计的软件,其主要功能包括PDF文件的拆分与合并。拆分功能允许用户将一个大型的PDF文档分割成多...
可合并拆分PDF文件,可合并拆分PDF文件,可合并拆分PDF文件,可合并拆分PDF文件,
此时,PDF拆分功能就显得非常实用。通过PDF-Splitter&Merger.exe,用户可以选择性地拆分PDF文件,将一个大文件分割成多个小文件,每个小文件对应原文件中的一页或多页。这不仅可以减少文件的大小,方便存储和传输,...
1. **PDF拆分**:在C#中处理PDF文档时,我们可以利用开源库如iTextSharp或PDFsharp。这些库提供了API来读取PDF文档,并允许我们将单个文档拆分为多个小文档。例如,iTextSharp的PdfReader类可以用来读取PDF,然后...
而PDF拆分功能则相反,它能将一个大的PDF文件分割成若干个小文件,每个小文件包含原文件的一部分内容。这在需要提取PDF中的特定页面或者章节,或者减小文件大小以便于电子邮件传输时特别实用。比如,你可能有一个...
"PDF Split and Merge V2.2.1"是一款开源的PDF处理工具,它的主要功能包括PDF文件的合并与拆分。开源意味着其源代码对公众开放,用户可以自由地查看、修改和分享,同时,这也为开发者提供了更多的定制可能性。这款...