Сначала вы создаете PdfFormXObject
, используя прямоугольник, для которого вы только определяете ширину и высоту:
var temp = new PdfFormXObject(new Rectangle(rect.GetWidth(), rect.GetHeight()));
Таким образом, прямоугольник имеет нижний левый угол в начале системы координат формы хобъекта, то есть нижний левый угол (0,0), а верхний правый (200,200).
В этой области вы размещаете изображение 200 × 200 в (100,100):
img.SetFixedPosition(rect.GetLeft(), rect.GetBottom());
img.ScaleAbsolute(rect.GetWidth(), rect.GetHeight());
ca.Add(img);
Таким образом, большая часть изображения находится вне xobject, внутри находится только нижний левый квадрант, который вы видите на скриншоте.
Затем вы добавляете этот объект в документ без позиционирования:
doc.Add(new Image(temp));
Таким образом, вы просите itext поместить ваш 200x200 объект в том месте, где он соответствует существующему контенту. Так что он будет расположен дальше, чем вы хотите.
Поэтому, чтобы решить вашу проблему, расположите область объекта и положение изображения так, чтобы изображение находилось в этой области, и расположите объект по своему усмотрению.