我正在尝试将标签网格打印到A4标签纸的纸上。

用户以毫米为单位指定纸张的左边和顶部边缘。

A4为210 x 297。

Siverlight告诉我,如果我将可打印区域和边距加在一起,则可打印区域为793 x 1122。

printDocument.PrintPage += (s, e) =>
    {
        var printableArea = e.PrintableArea;
        var pageMargin = e.PageMargins;
    }

如果我进行数学,则比率在210和793和297和1122之间的比率为3.777777(更准确)为34/9。

为什么是这个值?

无论印刷的目的地如何,总是这个值吗?我已经检查了一个实际的打印机,并设置了一个XPS文档,为A4的大小,它 出现 是这样,但我不想在6个月内被抓住。

如果它确实改变了我该如何在代码中弄清楚这种关系?

有帮助吗?

解决方案

经过更多的研究,我已经解决了答案。

Silverlight尺寸使用的是设备独立单元中的纸张尺寸 - 计算为1/96Th 一英寸。

297毫米= 11.6929英寸

将其乘以96,您将获得1122.51

相似地

210毫米= 8.2677英寸

对493.70的工作

因此,现在我了解了这些数字来自何处,我可以很高兴地使用我对34/9的更准确的计算以及解释它来自何处的评论。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top