`
lgtq1983
  • 浏览: 101176 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Itext.jar合并PDF文件

    博客分类:
  • Java
 
阅读更多
package com.pdf; 

import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 

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; 

/** 
* 导入itext-1.3.1.jar,合并PDF文件 
*/ 
public class CreatePdf 
{ 
    
    /** 
     * 得到生成的PDF文件(多个合并) 
     * @param savepath 文件保存的路径 
     * @param rName 报表名称 
     * @param files 生成的文件 
     * @return String 
     */ 
    public String getPDF(String savepath, String rName, String[] files) 
    { 
        String getResultName = null; 
        savepath = savepath + rName + ".pdf"; 
        //如果是多个PDF文件进行合并 
        if (files.length > 1) 
        { 
            //多个PDF文件合并 
            mergePdfFiles(files, savepath); 
            getResultName = savepath.subSequence(savepath.lastIndexOf("/"), 
                    savepath.length()).toString(); 
        } 
        else 
        { 
            if (reNameFile(files, savepath)) 
            { 
                getResultName = rName + ".pdf"; 
            } 
        } 
        return getResultName; 
    } 
    /** 
     * 多个PDF合并功能 
     * @param files 多个PDF的路径 
     * @param savepath 生成的新PDF路径 
     * @return boolean boolean 
     */ 
    public static boolean mergePdfFiles(String[]files,String savepath) 
    { 
        try 
        { 
            Document document = new Document(new PdfReader(files[0]).getPageSize(1));            
            PdfCopy copy = new PdfCopy(document, new FileOutputStream(savepath));            
            document.open(); 
            for (int i = 0; i < files.length; i++) 
            {              
                PdfReader reader = new PdfReader(files[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(); 
            return true; 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
            return false; 
        } 
        catch (DocumentException e) 
        { 
            e.printStackTrace(); 
            return false; 
        } 
    } 
    
    /** 
     * 文件重命名 
     */ 
    public static boolean reNameFile(String []oldName,String newName) 
    { 
        File oldfile = null; 
        if (oldName != null) 
        { 
            for (int i = 0;i < oldName.length;i++) 
            { 
                oldfile = new File(oldName[i]); 
            } 
            if (oldfile == null) 
            { 
                return false; 
            } 
            File newfile = new File(newName); 
            if (oldfile.renameTo(newfile)) 
            { 
                return true; 
            } 
        } 
        return false; 
    } 
    
    public static void main(String[] args) 
    { 
        String saveLocation = "D://temp/"; 
        String reportName = "用户流量分布"; 
        String files[] = new String[] {"D:/temp/aa.pdf","D:/temp/bb.pdf"}; 
        new CreatePdf().getPDF(saveLocation, reportName, files); 
        
    } 
    
} 

 

分享到:
评论

相关推荐

    Itext.jar包

    2. **修改PDF**:对已存在的PDF文档进行编辑,如添加或删除页面,更新文本和图像,甚至合并多个PDF文件。 3. **阅读和解析PDF**:读取PDF文档中的内容,提取文本、图片或元数据,这对于信息检索或数据分析非常有用...

    itext.jar 详细介绍 包含大量例子

    3. **文档自动化**:在文档管理系统中,itext.jar 可以用于自动转换和合并不同格式的文件,统一为PDF格式。 4. **学术出版**:科研机构和出版社可以利用itext.jar 创建高质量的PDF论文和书籍,支持复杂的排版和引用...

    iText-5.0.6.jar iTextAsian.jar

    这个库允许开发者创建、修改、分割和合并PDF文档,以及添加数字签名、表单字段等高级功能。在这个压缩包中,我们有两个版本的iText库:iText-5.0.6.jar和iTextAsian.jar。 首先,我们来详细探讨iText-5.0.6.jar。这...

    iText.jar,iText所有JAR包

    9. **PDF优化**:iText还提供了优化PDF的功能,如减少文件大小、合并多个PDF、删除无用对象等。 10. **流式处理**:iText允许开发者在内存中处理PDF,或者直接将PDF写入输出流,适用于网络传输或响应HTTP请求。 ...

    pdf工具的jar包 itext.zip 用于Java开发

    6. **PDF合并与拆分**:可以将多个PDF文件合并为一个,或者从PDF文档中提取特定页面。 7. **PDF/A兼容**:支持创建符合PDF/A标准的文档,用于长期归档和合规性要求。 在使用iText时,开发者需要将对应的jar包(如`...

    itext-2.1.7.jar和itext-rtf-2.1.7.jar

    它提供了丰富的API,使得开发者能够创建、编辑、读取和修改PDF文件。iText-2.1.7.jar是这个库的核心版本,它包含了处理PDF文档的基本功能。这个版本在当时发布时是一个广泛使用的稳定版本,适合那些对PDF操作有需求...

    Itext生成PDF所需要的最全Jar包

    - `io`:Itext的输入输出模块提供了读取和写入PDF文件的工具,可以用于合并、分割、加密或解密PDF文档。 6. **项目管理和父级POM**: - `itext-parent` 和 `root`:这些通常是Maven项目管理文件,包含了项目的...

    itextpdf-5.5.12.jar+itext-asian-5.2.0.jar

    3. **合并与分割PDF**:将多个PDF文件合并成一个,或从一个PDF中提取部分页面。 4. **表单处理**:填充PDF表单字段,或者创建交互式PDF表单。 5. **加密与解密PDF**:对PDF文档进行安全性设置,保护文档内容不被非法...

    iText-2.0.8.jar iTextAsian.jar iTextAsianCmaps.jar

    这个库使得开发人员能够方便地创建、修改和操作PDF文件。在你提供的信息中,我们关注到三个特定的JAR文件:`iText-2.0.8.jar`、`iTextAsian.jar`和`iTextAsianCmaps.jar`。 `iText-2.0.8.jar`是iText库的主版本,...

    IText 2.1.7 jar 包

    8. **PDF合并与分割**:IText还支持将多个PDF文件合并成一个,或者将一个PDF文件拆分成多个部分。 9. **更新和签名PDF**:你可以更新现有PDF的内容,甚至为其添加数字签名,以确保文件的完整性和未被篡改。 10. **...

    pdf 工具 iText7 jar包

    使用时,你需要将jar文件添加到你的项目类路径中,然后通过Java代码调用iText7的API来实现PDF文档的操作。 为了更好地利用iText7,开发者应熟悉其API文档,了解各种类和方法的用法。此外,官方提供的示例代码和教程...

    iText的jar包(包括iTextAsian.jar)

    3. PDF文档合并:将多个PDF文件合并成一个文档,方便管理和阅读。 4. PDF表单处理:创建交互式PDF表单,用户可以填写并保存数据,也可以读取已填好的表单数据。 5. PDF水印和页眉页脚:在PDF上添加自定义水印或页眉...

    关于itext-2.0.8.jar下载

    此外,iText 还允许对现有 PDF 进行操作,如添加水印、签名、注释或者合并多个 PDF。 在实际应用中,iText 2.0.8 可用于多种场景,例如: 1. **报表生成**:开发人员可以利用 iText 动态生成包含复杂数据的 PDF ...

    itext相关JARitext-asian-5.2.0及itextpdf-5.5.13.1.zip

    这个压缩包包含了两个主要的JAR文件:`itext-asian-5.2.0.jar`和`itextpdf-5.5.13.1.jar`,它们在处理PDF文件时扮演着重要的角色。 `itext-asian-5.2.0.jar`是iText的一个扩展,主要是为了支持亚洲语言,如中文、...

    iText-2.1.5.jar+iTextAsian.jar

    它提供了丰富的功能,允许开发者创建、修改、分割和合并PDF文件。iText-2.1.5.jar是iText的一个早期版本,发布于2009年,包含了基本的PDF处理功能。这个版本支持PDF 1.7规范,提供了一系列API,使得开发者可以方便地...

    iText-2.1.5.jar,iTextAsian.jar,iText-rtf-2.1.4.jar及execl生成代码实现

    在标题和描述中提到的三个JAR文件,iText-2.1.5.jar、iTextAsian.jar 和 iText-rtf-2.1.4.jar,分别代表了iText库的不同组件和扩展。 1. **iText-2.1.5.jar**:这是iText的核心库,主要用于PDF的生成、编辑和解析。...

    iText全部jar包包括亚洲汉化包

    总的来说,"iText5.4.2需要的全部的jar包"意味着你将得到一个完整且汉化的iText版本,可以满足你在处理亚洲语言PDF时的所有需求。无论你是要创建新的PDF文档,还是需要编辑已有文档,这个库都能提供强大的工具和便捷...

    itext-2.1.7.jar

    《使用iText 2.1.7.jar进行Java图片转PDF操作详解》 在Java开发中,有时我们需要将多张图片合并成一个PDF文档,这时就需要依赖特定的库来完成这个任务。iText是一个强大的开源Java库,专门用于创建、修改PDF文档。...

    itextpdf.jar 5.5.5.rar

    除了生成PDF,iTextPDF也能解析和操作已存在的PDF文件。可以读取PDF文档的信息、提取文本和图像,或者合并多个PDF文档为一个。这对于文档管理和处理流程自动化来说,是非常实用的。 总结,iTextPDF 5.5.5是一个全面...

    itextpdf.rar

    iTextPDF提供了广泛的API,允许开发者创建、修改、解析和合并PDF文档。它支持文本、图像、表格、超链接、书签、表单字段等元素的插入和操作。此外,还支持PDF/A兼容性,用于长期归档和电子文档的法律合规性。版本...

Global site tag (gtag.js) - Google Analytics