Java 如何合并列表<;PDF文档>;到单个PDF文档中

Java 如何合并列表<;PDF文档>;到单个PDF文档中,java,pdf,itext,pdf-generation,itext7,Java,Pdf,Itext,Pdf Generation,Itext7,我有一个包含多个PDF的列表,我想将所有PDF合并到一个PdfDocument中(我使用iText),然后将此PdfDocument转换为ByteArrayOutputStream(或字节[]) public byte[]将pdfDocuments合并到PDFDocument(列出pdfDocuments){ final ByteArrayOutputStream mergedPdfStream=新建ByteArrayOutputStream(); 最终PdfDocument mergedPdf

我有一个包含多个PDF的列表,我想将所有PDF合并到一个PdfDocument中(我使用iText),然后将此PdfDocument转换为ByteArrayOutputStream(或字节[])

public byte[]将pdfDocuments合并到PDFDocument(列出pdfDocuments){
final ByteArrayOutputStream mergedPdfStream=新建ByteArrayOutputStream();
最终PdfDocument mergedPdfDocument=新PdfDocument(新PdfWriter(mergedPdfStream));
//我不知道我怎样才能继续下去
要实现这一点,我应该做些什么?

public byte[]将pdfDocuments合并到pdfDocuments(列出pdfDocuments){
public byte[] mergePdfDocumentsIntoAPdfDocument(List<PdfDocument> pdfDocuments){
    ByteArrayOutputStream mergedPdfStream = new ByteArrayOutputStream();
    PdfDocument resultDoc = new PdfDocument(new PdfWriter(mergedPdfStream));

    for (PdfDocument doc : pdfDocuments) {
        int n = doc.getNumberOfPages();
        for (int i = 1; i <= n; i++) {
            PdfPage page = doc.getPage(i).copyTo(resultDoc);
            resultDoc.addPage(page);
        }
    }

    resultDoc.close();
    return mergedPdfStream.toByteArray();
}
ByteArrayOutputStream mergedPdfStream=新建ByteArrayOutputStream(); PdfDocument resultDoc=新的PdfDocument(新的PdfWriter(mergedPdfStream)); 用于(PDF文档文档:PDF文档){ int n=doc.getNumberOfPages();
对于(int i=1;我不使用PDF框您使用的是什么库?请更新您的问题。更新后,我使用iText
public byte[] mergePdfDocumentsIntoAPdfDocument(List<PdfDocument> pdfDocuments){
    ByteArrayOutputStream mergedPdfStream = new ByteArrayOutputStream();
    PdfDocument resultDoc = new PdfDocument(new PdfWriter(mergedPdfStream));

    for (PdfDocument doc : pdfDocuments) {
        int n = doc.getNumberOfPages();
        for (int i = 1; i <= n; i++) {
            PdfPage page = doc.getPage(i).copyTo(resultDoc);
            resultDoc.addPage(page);
        }
    }

    resultDoc.close();
    return mergedPdfStream.toByteArray();
}