lis8.0/lis-system/src/test/java/com/czlis/system/Lis_springbootTest.java

129 lines
160 KiB
Java
Raw Normal View History

2025-09-30 10:14:47 +08:00
package com.czlis.system;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.date.DateUtil;
import com.czlis.interfaceCommon.utils.ReportUtil;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.*;
import java.io.*;
import java.util.*;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.stereotype.Component;
@SpringBootTest
public class Lis_springbootTest {
@Test
public void test01() throws Exception {
// List<String> list = new ArrayList<String>();
// list.add("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
// list.add("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
// list.add("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
// list.add("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
// try {
// mergeToFile(list,"D:/merged.pdf");
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// List<String> list = new ArrayList<>();
// list.add("D:\\123.pdf");
// list.add("D:\\456.pdf");
//mergePDF3();
//combine2();
}
/**
* 合并多个Base64编码的PDF为一个PDF文件
* @param base64PdfList 包含多个PDF的Base64字符串列表
* @param outputFilePath 合并后PDF的输出路径(如:D:/merged.pdf)
* @throws Exception 处理过程中的异常
*/
public static void mergeToFile(List<String> base64PdfList, String outputFilePath) throws Exception {
// 1. 合并所有PDF字节流为一个字节数组
byte[] mergedBytes = mergeBase64Pdfs(base64PdfList);
// 2. 将合并后的字节数组写入文件
try (FileOutputStream fos = new FileOutputStream(outputFilePath)) {
fos.write(mergedBytes);
}
System.out.println("PDF合并完成,输出路径:" + outputFilePath);
}
/**
* 合并多个Base64编码的PDF为字节数组
* @param base64PdfList Base64字符串列表
* @return 合并后的PDF字节数组
* @throws Exception 处理异常
*/
private static byte[] mergeBase64Pdfs(List<String> base64PdfList) throws Exception {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Document document = null;
PdfCopy pdfCopy = null;
try {
for (int i = 0; i < base64PdfList.size(); i++) {
// 解码Base64为PDF字节数组
String base64Str = base64PdfList.get(i);
byte[] pdfBytes = Base64.decode(base64Str); // 使用Hutool解码
InputStream inputStream = new ByteArrayInputStream(pdfBytes);
// 读取PDF文件
PdfReader reader = new PdfReader(inputStream);
// 初始化文档(仅第一次循环时)
if (i == 0) {
document = new Document(reader.getPageSizeWithRotation(1));
pdfCopy = new PdfCopy(document, outputStream);
document.open();
}
// 合并所有页面
for (int pageNum = 1; pageNum <= reader.getNumberOfPages(); pageNum++) {
pdfCopy.addPage(pdfCopy.getImportedPage(reader, pageNum));
}
// 释放资源
pdfCopy.freeReader(reader);
reader.close();
inputStream.close();
}
} finally {
// 关闭文档和输出流
if (document != null) {
document.close();
}
if (outputStream != null) {
outputStream.close();
}
}
return outputStream.toByteArray();
}
@Autowired
ReportUtil reportUtil;
@Test
public void test02(){
reportUtil.getReportpic(DateUtil.parse("2025-08-20","yyyy-MM-dd"),"33","11");
}
}