Java工具,多张PDF合并

此方法仅能将多个PDF合并成为一个PDF, 无法改变内容, 合并后的效果如图
在这里插入图片描述
这个是把两个物流面单合并成了一个

先引入依赖

 <dependency>
     <groupId>org.apache.pdfbox</groupId>
     <artifactId>pdfbox</artifactId>
     <version>2.0.28</version>
 </dependency>
	/**
	 * 合并pdf
	 * @param pdfs          pdf字节数组集合
	 * @return              合并后的字节数组
	 */
	public static byte[] pdfMerge(List<byte[]> pdfs) throws IOException {
		PDFMergerUtility merger = new PDFMergerUtility();
		try (
			ByteArrayOutputStream mergedPdfStream = new ByteArrayOutputStream()
		) {
			for (byte[] pdf : pdfs) {
				try (
					InputStream inputStream = new ByteArrayInputStream(pdf)
				) {
					merger.addSource(inputStream);
				}
			}
			// 合并pdf
			merger.setDestinationStream(mergedPdfStream);
			// 内存使用模式: 使用主内存 如果合并pdf过大可以使用磁盘
			merger.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
			// 转换为byte数组
			return mergedPdfStream.toByteArray();
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值