为什么尺寸打印尺寸错误?

问题描述 投票:0回答:1

我想要一个6厘米(60毫米)宽的矩形。

据我所知,iText使用点作为单位,因此我将60毫米转换为点并获得170点。 (link to converter

但是,当我在A4纸上打印并用尺子测量时,矩形的宽度为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();
    }
itext itext7
1个回答
0
投票

您的计算是正确的,6厘米约为170点。

您的代码正确。

我用您的代码生成了PDF。当我使用测量工具时,确认了6厘米:

我打印了该PDF并测量了打印输出,再次是6厘米。

因此,您的标尺是错误的(我对此表示怀疑),或者您的打印不是以“实际尺寸”,而是可能以“适合”或“缩小超大页面”(这两者均相当于96%)。

© www.soinside.com 2019 - 2024. All rights reserved.