Я использую iTextSharp v4.1.2 и получаю следующее поведение:
Используя этот код, добавляя изображение непосредственно в таблицу с помощью метода AddCell, изображение масштабируется до ячейки:
nestedTable.AddCell(image);
Используя этот код, добавляя изображение в ячейку, затем добавляя ячейку в таблицу, изображение отображается в исходном размере:
PdfPCell cell = new PdfPCell(image);
cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER;
nestedTable.AddCell(cell);
Вы добавили изображение непосредственно в документ PDF (вне таблицы), чтобы сравнить / перепроверить размеры изображения?
document.add(image);
Я предполагаю, что вы хотите, чтобы изображение центрировалось в ячейке с небольшим пространством вокруг нее.В крайнем случае, вы можете изменить свой имидж.Сделайте png с прозрачным фоном, и просто убедитесь, что вокруг всех краев вашего изображения есть прозрачное поле.
РЕДАКТИРОВАТЬ
Я простоскачал v5.0.2 и я получил те же результаты, что и упомянутые выше.Я пробовал это с изображениями, которые меньше и больше, чем размер ячейки, и поведение такое же;первый метод масштабирует изображение, второй - нет.
РЕДАКТИРОВАТЬ
Что ж, очевидно, я годами ошибался насчет всего DPI, когда дело доходит доизображений.Кажется, я не вижу, что вообще имеет значение, каково разрешение изображения.
Я создал изображение 600x400 пикселей с тремя различными разрешениями: 72 точек на дюйм, 96 точек на дюйм и 110 точек на дюйм.Затем я добавил каждое из этих изображений в новый документ размером 600x400.
Dim pSize As Rectangle = New Rectangle(600, 1000)
Dim document As Document = New Document(pSize, 0, 0, 0, 0)
Для каждого из трех файлов изображений при добавлении в документ с помощью
document.add(image)
они соответствуютдокумент идеально, без различий для различных настроек DPI.