我有一个列表,java.awt.Image
每个列表的分辨率为 300 DPI。我想打印它们,当我开始打印这些图像(使用javax.PrintService API)时,只打印一些图像,因为 Java 的 Print/3D 类默认使用 72DPI(我的图像为 300 DPI)。但是,当我使用 72 DPI 的图像(与 Java 默认分辨率相同)时,所有图像都可以很好地打印(打印整个图像时,不仅仅是其中的一部分)。
问题:我可以在哪里设置图像的打印分辨率以适合打印区域?
我试图设置PrintRequestAttributeSet.add( new PrinterResolution(300, 300, ResolutionSyntax.DPI))
,但这没有效果。
现在,我缩放图像以适合打印区域,但缩放图像后质量下降,因此打印的文档不可读。