Неправильная страница
Прежде всего, вы добавляете аннотацию к неправильной странице.
Вы говорите
Нужно выделить 3-ю страницу PDF.
но вы поместили это на страницу 1:
stamper.AddAnnotation(highlight,1);
Чтобы исправить это, измените номер страницы там:
stamper.AddAnnotation(highlight,3);
Неправильные координаты
Ни координаты в вашем коде
iTextSharp.text.Rectangle rect = new iTextSharp.text.Rectangle(60.6755f, 749.172f, 94.0195f, 735.3f);
, ни те, которые вы указали JSON'ish
"boundingBox": [3.2924,7.7146,5.7564,7.7038,5.7671,7.9836,3.3032,7.9943]
, не расположены рядом с местом, которое вы хотите выделить, по крайней мере, не вобычная система координат PDF, заданная медиа-блоком страницы.Измеряя в Adobe Acrobat, я получил следующие приблизительные координаты:
iTextSharp.text.Rectangle rect = new iTextSharp.text.Rectangle(240f, 264f, 413f, 289f);
Если какая-либо из показанных вами координат подразумевает фактические координаты части изображения, которую нужно выделить, спросите поставщика этих координат о координатесистема используется и соответственно преобразуется в координаты в медиа-окне данной страницы.
сомнительный порядок в QuadPoints
Вы создаете quad
, используя этот порядок:
float[] quad = { rect.Left, rect.Bottom, rect.Right, rect.Bottom, rect.Left, rect.Top, rect.Right, rect.Top };
Это приводит кв вогнутых колпачках.Возможно, вы захотите использовать
float[] quad = { rect.Left, rect.Top, rect.Right, rect.Top, rect.Left, rect.Bottom, rect.Right, rect.Bottom };
, который Adobe Reader отображает в виде выпуклых заглавных букв.Для фона прочитайте этот ответ .
Пример вывода
Вы говорите:
"66 66 6666 6666" должно быть выделено
После трех изменений, примененных к вашему коду, я получаю: