代码之家  ›  专栏  ›  技术社区  ›  Fred

为什么尺寸印错了?

  •  0
  • Fred  · 技术社区  · 4 年前

    我想要一个60厘米宽的矩形。

    link to converter )

    下面是我使用的代码:

        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();
        }
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   mkl    4 年前

    你的计算是正确的,6厘米大约是170点。

    你的代码是正确的。

    我用你的代码生成了一个PDF。当我使用测量工具时,6 cm被确认:

    我打印了那份PDF,然后测量了打印出来的尺寸,又是6厘米。

    因此,要么你的尺子错了(我怀疑),要么你的印刷不是“实际大小”,而是“适合”或“缩小过大的页面”(两者都对应于96%)。