Я использую этот код для печати на бумаге:
//Overriden from printable interface
public int print(Graphics g, PageFormat pageFormat, int pageIndex)
throws PrinterException {
if (pageIndex != 0) {
return Printable.NO_SUCH_PAGE;
}
Paper a4 = new Paper();
a4.setImageableArea(0, 0, a4.getWidth(), a4.getHeight());
pageFormat.setPaper(a4);
pageFormat.setOrientation(PageFormat.PORTRAIT);
Graphics2D g2d = (Graphics2D)g;
//g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
this.setDoubleBuffered(false);
panel.print(g2d);
JOptionPane.showMessageDialog(null, new ImageIcon(image));
this.setDoubleBuffered(true);
return Printable.PAGE_EXISTS;
}
Я пытаюсь программно уменьшить размер полей.Что бы я ни делал, кажется, что по бокам изображения всегда имеется большой отсутствующий фрагмент (если только я не удалю поля из диалогового окна печати - но, как я уже сказал, я хочу удалить их программно, чтобы автоматизировать весь процесс).