Удалить изображение в pdf документе с помощью itextsharp - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть требование добавить изображение в 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);

Спасибо за вашепомощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...