您如何不破坏签名并将信息添加到PdfPage?

时间:2018-08-03 09:39:10

标签: pdf itext sign itext7

现在,我需要在签名时向PdfPage添加其他图片信息。

以下是预期的结果。

4 0 obj
<</Annots[11 0 R 19 0 R]/Contents[5 0 R 10 0 R 18 0 R]/MediaBox[0 0 595 842]/Parent 2 0 R/Resources<</Font<</F1 6 0 R>>/XObject<</Im1 9 0 R/Im2 17 0 R>>>>/TrimBox[0 0 595 842]/Type/Page>>

插入的信息是“ Contents []”的“ 18 0 R”和XObject的“ / Im2 17 0 R”。

        PdfCanvas canvas;
        canvas = new PdfCanvas(appearance.getLayer2(), document);
        appearance.getLocation();
        canvas.addImage(appearance.getSignatureGraphic(), imgWidth, 0, 0, imgHeight, appearance.getPageRect().getX(), appearance.getPageRect().getY());

        PdfPage pdfPage = document.getPage(1);
        PdfObject contents = ((PdfDictionary)pdfPage.getPdfObject()).get(PdfName.Contents);

        PdfArray array;
        if (contents instanceof PdfStream) {
            array = new PdfArray();
            array.add(contents);
            array.add(canvas.getContentStream());
            pdfPage.put(PdfName.Contents, array);
        } else if (contents instanceof PdfArray) {
            array = (PdfArray)contents;
            array.add(canvas.getContentStream());
        } else {
            array = null;
        }

        PdfImageXObject ax = new PdfImageXObject(appearance.getSignatureGraphic());
        ax.makeIndirect(document);
        PdfResources pdfResources = pdfPage.getResources();
        pdfResources.addImage(ax);

已插入图片,但先前的签名也被破坏。 如何在签名过程中将图片插入PdfPage,但不影响签名?

非常感谢您的帮助。

0 个答案:

没有答案