iText将标记的pdf与在运行时创建的pdf合并

时间:2012-03-25 22:23:31

标签: java pdf merge itext

我想在java中使用iText合并2个pdf文档,其中一个pdf是在运行时创建的,而另一个是我读入的现有pdf,并使用PdfStamper函数在其上标记图像。我想合并这两个pdf并使用servlet显示它们。

我想知道这是否可行以及如何做到这一点。

我可以单独创建或标记它们,但我似乎无法弄清楚如何合并它们。

由于

1 个答案:

答案 0 :(得分:0)

我想这段代码可以帮到你。您必须为此

导入IText.Jar
    public static void doMerge(List<InputStream> list,
                           OutputStream outputStream) throws DocumentException,
                                                             IOException {
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, outputStream);
    document.open();
    PdfContentByte cb = writer.getDirectContent();
    float k = 0;
    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);
            System.out.println(page.getHeight());
        }
    }

    outputStream.flush();
    document.close();
    outputStream.close();
}