2011-04-08 132 views
0

我在我的應用程序中實現了打印。Java打印PageFormat和MediaSizeName

我試圖設置頁面大小(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
paper.setSize(9*72,6*72); 
paper.setImageableArea(0.5*72,0.5*72,9*72,6*72); 

這就是一大堆的magic numbers

如果您不確定某件事情,請創建必須通過的(單位)測試,然後嘗試選項。通過這種方式,您可以解決您的問題,如果您或以後更改代碼的人需要解決類似問題,他可以使用您的測試。