1
14
15 package demo.yext.export;
16
17
18 import javax.print.attribute.standard.MediaSize;
19 import java.awt.print.PageFormat;
20 import java.awt.print.Paper;
21 import java.awt.Insets;
22
23
24
29 public class PageFormatHelper {
30
34 public static void assignMediaSize(PageFormat pageFormat, MediaSize mediaSize) {
35 float[] size = mediaSize.getSize(MediaSize.INCH);
36 int dpi = 72; size[0] *= dpi;
38 size[1] *= dpi;
39 Paper paper = new Paper();
40 paper.setSize(size[0], size[1]);
41 paper.setImageableArea(0, 0, size[0], size[1]);
42 pageFormat.setPaper(paper);
43 }
44
45
49 public static Insets getMargin(PageFormat pageFormat) {
50 final int top = (int)Math.ceil(pageFormat.getImageableY());
51 final int left = (int)Math.ceil(pageFormat.getImageableX());
52 return new Insets(top, left,
53 (int)Math.ceil(pageFormat.getHeight()
54 - pageFormat.getImageableHeight()) - top,
55 (int)Math.ceil(pageFormat.getWidth()
56 - pageFormat.getImageableWidth()) - left);
57 }
58
59
63 public static void setMargin(PageFormat pageFormat, Insets insets) {
64 Paper paper = pageFormat.getPaper();
65 paper.setImageableArea(
66 insets.left,
67 insets.top,
68 paper.getWidth() - insets.left - insets.right,
69 paper.getHeight() - insets.top - insets.bottom
70 );
71 pageFormat.setPaper(paper);
72 }
73
74 private PageFormatHelper() {
75 }
76 }