Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 合并两个PDF';itext中的s_Java_Pdf_Pdf Generation_Itext - Fatal编程技术网

Java 合并两个PDF';itext中的s

Java 合并两个PDF';itext中的s,java,pdf,pdf-generation,itext,Java,Pdf,Pdf Generation,Itext,我有两个ByteArrayOutputStreams,其中包含PDF文件。 我使用了java concatate操作,但失败了。 我想在第一个pdf之后添加第二个pdf 是否有Itext函数可以使用streams合并两个PDF?至少找到了。这一个对我有用 Document document = new Document(); //Rectangle pageSize = new Rectangle(792, 612); Rectangle pageSize =

我有两个ByteArrayOutputStreams,其中包含PDF文件。 我使用了java concatate操作,但失败了。 我想在第一个pdf之后添加第二个pdf


是否有Itext函数可以使用streams合并两个PDF?

至少找到了。这一个对我有用

Document document = new Document();
        //Rectangle pageSize = new  Rectangle(792, 612);
        Rectangle pageSize = PageSize._11X17;
        document.setPageSize(pageSize);
        PdfWriter writer = PdfWriter.getInstance(document, outputStream);
        document.open();
        PdfContentByte cb = writer.getDirectContent();

        for (InputStream in : list) {
            PdfReader reader = new PdfReader(in);
            for (int i = 1; i <= reader.getNumberOfPages(); i++) {
                document.newPage();
                //import the page from source pdf
                PdfImportedPage page = writer.getImportedPage(reader, i);
                //add the page to the destination pdf
                cb.addTemplate(page, 0, 0);
            }
        }

        outputStream.flush();
        document.close();
        outputStream.close();
Document Document=新文档();
//矩形页面大小=新矩形(792612);
矩形页面大小=页面大小。_11X17;
document.setPageSize(页面大小);
PdfWriter writer=PdfWriter.getInstance(文档,outputStream);
document.open();
PdfContentByte cb=writer.getDirectContent();
用于(输入流输入:列表){
PdfReader读取器=新PdfReader(in);

对于(inti=1;i),您可以检索底层的
字节[]
s从您的
ByteArrayOutputStreams
,打开
PDF阅读器
,然后使用
PdfCopy
连接它们,在这里使用实际的
PDFWWriter
实例通常不太理想。最有可能的是
PdfCopy
PdfSmartCopy
实例更适合您的需要。