import java.awt.*;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterJob;

public class LandscapePrintTest {
    public static void main(String[] args) throws Exception {
        PrinterJob job = PrinterJob.getPrinterJob();
        PageFormat format = new PageFormat();
        format.setOrientation(PageFormat.LANDSCAPE);
        job.setPrintable((graphics, pageFormat, pageIndex) -> {
            if (pageIndex != 0) return Printable.NO_SUCH_PAGE;
            Graphics2D g2d = (Graphics2D) graphics;
            g2d.translate(pageFormat.getImageableX() + pageFormat.getImageableWidth() / 2,
                    pageFormat.getImageableY() + pageFormat.getImageableHeight() / 2);
            Font font = new Font("Tahoma", Font.ITALIC, 12);
            g2d.fill(font.createGlyphVector(g2d.getFontRenderContext(), "ABC").getOutline());
            return Printable.PAGE_EXISTS;
        }, format);
        if (job.printDialog()) job.print();
    }
}
