class mergePdfUtil{

    /**
     * pdf文件流合并,返回byte文件流
     * @param bytes
     * @param appointmentListByte
     * @return
     */
    public static byte[] mergePdf(byte[] bytes, byte[] appointmentListByte) {
        try {
            //pdf合并工具类
            PDFMergerUtility mergePdf = new PDFMergerUtility();
            // 添加 pdf 数据源
            mergePdf.addSource(new ByteArrayInputStream(bytes));
            mergePdf.addSource(new ByteArrayInputStream(appointmentListByte));
            OutputStream outputStream = new ByteArrayOutputStream();
            // 指定目标文件输出流
            mergePdf.setDestinationStream(outputStream);
            //合并pdf
            mergePdf.mergeDocuments(null);
            ByteArrayOutputStream mergerUtilityDestinationStream = (ByteArrayOutputStream) mergePdf.getDestinationStream();
            return mergerUtilityDestinationStream.toByteArray();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }




    /**
     * 指定pdf合并
     */
    public static void mergePdf2() {
        try {
            //pdf合并工具类
            PDFMergerUtility mergePdf = new PDFMergerUtility();
            //合并pdf生成的文件名
            String destinationFileName =new Date().getTime()+".pdf";
            // 合并后pdf存放路径
            String bothPath =  "D:\\"+ File.separator + destinationFileName;
            //审讯记录表输入流
            mergePdf.addSource("D:\\aaaaa.pdf");
            mergePdf.addSource("D:\\bbbbb.pdf");
            // 添加 pdf 数据源

            //设置合并生成pdf文件名称
            mergePdf.setDestinationFileName(bothPath);
            //合并pdf
            mergePdf.mergeDocuments();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐