Java Printing PageFormat和MediaSizeName

时间:2011-04-08 16:18:50

标签: java printing

我在我的应用程序中实现打印。

我正在尝试设置页面大小(A4,B1 ...)和方向(纵向,横向)。

但我发现我们可以在PageFormat对象中设置它,如:

PageFormat pf = job.defaultPage();
Paper paper = pf.getPaper();
pf.setOrientation(PageFormat.PORTRAIT);
paper.setSize(9*72,6*72);
paper.setImageableArea(0.5*72,0.5*72,9*72,6*72);
pf.setPaper(paper);

我们也可以设置名为MediaSizeName的属性名称,如

aset.add(MediaSizeName.ISO_A4);

我不确定这两者之间的关系是什么,以及设置尺寸和方向的正确方法是什么?

由于

1 个答案:

答案 0 :(得分:-1)

paper.setSize(9*72,6*72);
paper.setImageableArea(0.5*72,0.5*72,9*72,6*72);

这是magic numbers的全部内容。

如果您对某些内容不确定,请创建必须通过的(单元)测试,然后尝试选项。通过这种方式,您可以解决问题,如果您或某人稍后更改您的代码,需要解决类似的问题,他可以使用您的测试。