itext5.5合并PDF

本文介绍了一种使用Java和itext库实现PDF文件合并的方法。通过简单的代码示例展示了如何将多个PDF文件合并成一个文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们有时候需要将多个PDF文件合 并成一个,这里只讨论使用java程式如何合并PDF.我们只需要使用到itext.jar就可以完成任务.

代码如下:代码很简单.就不多解释了.

PDF合并:MergePDFUtil.java类中的 代码如下:

package com.utils;

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

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfImportedPage;
import com.itextpdf.text.pdf.PdfReader;

/**
 * 合并PDF
 */
public class MergePDFUtil {

	public static void main(String[] args) throws Exception{
		String[] files = { "D:\\a.pdf", "D:\\b.pdf" };
		String savepath = "D:\\temp.pdf";
		mergePdfFiles(files, savepath);
	}
	
	/* 合並pdf文件
    * @param files 要合並文件数组(绝对路劲{ "D:\\a.pdf", "D:\\b.pdf" })
    * @param newfile 合并后新产生的文件绝对路径如D:\\temp.pdf
    */
    public static void mergePdfFiles(String[] files, String savepath) throws Exception{
		try {
			//创建一个与a.pdf相同纸张大小的document
			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++) {
				//一个一个的遍历现有的PDF
				PdfReader reader = new PdfReader(files[i]);
				int n = reader.getNumberOfPages();//PDF文件总共页数
                System.out.println("n:"+n);
				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();
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值