现在,我需要在签名时向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,但不影响签名?
非常感谢您的帮助。