0

使用 java swing,无论用户的打印机及其分辨率如何,我都想以准确的物理尺寸打印

例如:我想在纸上准确打印 5cm x 3cm 的矩形。

我不知道如何找到所选打印机的当前 dpi(考虑甚至选择打印机可能有多种 dpi 配置,用户可能会在打印时从打印对话框中更改)。

4

2 回答 2

1

Java 的打印 API 几乎“假定”为 72dpi,即使它可以打印到分辨率比这高得多的打印机。

这使事情变得更容易,因为您根本不需要关心。

本质上,您可以通过转换为 dpi 将 cm 转换为像素...

double cms = 5;
pixels = (cms * 0.393700787d) * 72
// 0.393700787d is the number of cms per inch ;)

查看如何在 java 中设计要在 300 dpi 打印机上打印的图像以获取更多详细信息

于 2013-10-04T08:03:05.307 回答
0

打印机仅使用 java API 了解长度/纸张大小。1 英寸在纸上包含 72 个点。因此您需要参考 (inch * 72)

于 2013-10-05T07:50:03.523 回答