PDFBOX合并两个PDF文件

expected='endstream' actual='' org.apache.pdfbox.io.PushBackInputStream@21a06946

<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.20</version>
</dependency>
 

使用PDFBOX做合成时出现的问题,部分pdf出现。

经过检查发现最新版本的可以支持,之前出错是因为pdf太大【达到两兆】,读取的时候不支持那么大的缓存区,现在这个版本已经可以兼容。
pdfbox-2.0.20.jar

 

 

import java.util.Date;

import org.apache.pdfbox.multipdf.PDFMergerUtility;

public class MEGAPDF2 {
	static String BASE_PATH = "D://";

	static String SRC_PATH1 = BASE_PATH + "1.pdf"; //待合并文件1
	static String SRC_PATH2 = BASE_PATH + "2.pdf"; //待合并文件2
	static String SRC_PATH3 = BASE_PATH + "22.pdf"; //合并后文件

	public static void main(String[] args) throws Exception {

		// pdf合并工具类
		PDFMergerUtility mergePdf = new PDFMergerUtility();

		// 合成文件
		mergePdf.addSource(SRC_PATH1);
		mergePdf.addSource(SRC_PATH2);
		// 设置合并生成pdf文件
		mergePdf.setDestinationFileName(SRC_PATH3);
		// 合并pdf
		try {
			mergePdf.mergeDocuments();
		} catch (Exception e) {
			System.out.println("pdf文件合并失败");
			e.printStackTrace();
		}
		System.out.println("pdf文件合并成功");

	}
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值