Мне нужен прямоугольник шириной 6 см (60 мм).
Насколько я понимаю, iText работает с точками как с единицами, поэтому я преобразовал 60 миллиметров в точки и получил 170 очков. ( ссылка на конвертер )
Однако, когда я печатаю на бумаге формата А4 и измеряю ее линейкой, прямоугольник имеет ширину 5,7 см (57 миллиметров). Почему это так?
Ниже приведен код, который я использую:
private static byte[] CreateRectangle()
{
var stream = new MemoryStream();
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(stream));
PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());
Color greenColor = new DeviceCmyk(1f, 0f, 1f, 0.176f);
canvas.SetFillColor(greenColor);
canvas.Rectangle(150, 600, 170, 56); /* 170 width, 56 height */
canvas.FillStroke();
pdfDoc.Close();
return stream.ToArray();
}