У меня есть требование добавить изображение в pdf-документы и позже я могу удалить его, если необходимо.
Мне удается добавить изображение в документы с этим кодом:
iText.Kernel.Geom.Rectangle pagesize;
PdfDocument pdfDoc = new PdfDocument(new PdfReader(sourceFile), new PdfWriter(destinationPath));
int n = pdfDoc.GetNumberOfPages();
ImageData img = ImageDataFactory.Create(image_WM_Path);
for (int i = 1; i <= n; i++)
{
pagesize = pdfDoc.GetPage(i).GetPageSizeWithRotation();
float f = pagesize.GetWidth() / (1.5f * img.GetWidth());
float wImage = img.GetWidth() * f;
float hImage = img.GetHeight() * f;
iText.Kernel.Geom.Rectangle rectangle = new iText.Kernel.Geom.Rectangle(pagesize.GetRight() - wImage, pagesize.GetBottom(),wImage, hImage );
PdfStampAnnotation stamp = new PdfStampAnnotation(rectangle);
stamp.SetStampName(new PdfName("MyCustomStamp"));
PdfFormXObject xObj = new PdfFormXObject(new iText.Kernel.Geom.Rectangle(wImage, hImage));
PdfCanvas canvas = new PdfCanvas(xObj, pdfDoc);
canvas.AddImage(img, 0, 0, wImage, false);
stamp.SetNormalAppearance(xObj.GetPdfObject());
pdfDoc.GetPage(i).AddAnnotation(stamp);
}
pdfDoc.Close();
Это правильный способ добавить изображение в качестве аннотации?Действительно ли я помещаю идентификатор с помощью метода SetStampName?
Мне не удается получить аннотацию в массиве аннотаций PdfDictionary страницы, массив равен нулю:
PdfArray annotations = pageDict.GetAsArray(PdfName.Annotation);
Спасибо за вашепомощь