Я забыл упомянуть, что я использую itextsharp 5.0.2.
Оказалось, что PDF DPI = 110, что означает 110 пикселей на дюйм, а так как itextsharp использует точки в качестве единицы измерения, то:
- n пикселей = n / 110 дюймов.
- n дюймов = n * 72 балла.
Мне нужен вспомогательный метод для преобразования пикселей в точки:
public static float PixelsToPoints(float value,int dpi)
{
return value / dpi * 72;
}
Используя вышеприведенную формулу и передав значение dpi, равное 110, она отлично работала:
Примечание. Поскольку вы можете создавать PDF-документы любого размера, это может привести к неправильному масштабированию при печати документов. Чтобы преодолеть эту проблему, все, что вам нужно сделать, это иметь правильное соотношение сторон между шириной и высотой [приблизительно 1: 1,4142] (см .: Размер бумаги - международный стандарт: ISO 216 ).