代码之家  ›  专栏  ›  技术社区  ›  Seephor

使用IText 2.1.7合并大型PDF

  •  3
  • Seephor  · 技术社区  · 6 年前

    我就是这样做的:

    private byte[] mergePDFs(List<byte[]> pdfBytesList) throws DocumentException, IOException {
        Document document = new Document();
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        PdfCopy copy = new PdfCopy(document, outputStream);
        document.open();
    
        for (byte[] pdfByteArray : pdfBytesList) {
            ByteArrayInputStream readerStream = new ByteArrayInputStream(pdfByteArray);
            PdfReader reader = new PdfReader(readerStream);
    
            for (int i = 0; i < reader.getNumberOfPages(); ) {
                copy.addPage(copy.getImportedPage(reader, ++i));
            }
    
            copy.freeReader(reader);
            reader.close();
        }
    
        document.close();
    
        return outputStream.toByteArray();
    }
    

    1 回复  |  直到 6 年前
        1
  •  0
  •   Seephor    6 年前