JavaFX: изображение масштабируется до 25%, а затем печатается.
Я пытаюсь напечатать изображение, используя API JavaFX. К сожалению, он обрезает часть изображения, примерно на 25%, а затем растягивает ее на всю страницу формата А4 и печатает ее. Что я делаю не так с кодом печати. Как я могу дать указание разместить изображение на странице для печати, независимо от того, какой принтер. Пожалуйста, дайте мне знать.
Код:
public void printThis() {
System.out.println("I was called");
// note you can use overloaded forms of the Image constructor
// if you want to scale, etc
String path = "resources/img/printouts/image.png";
Image image = new Image(getClass().getResource(path).toExternalForm());
ImageView imageView = new ImageView(image);
new Thread(() -> printImage(imageView)).start();
}
public void printImage(ImageView image) {
Printer printer = Printer.getDefaultPrinter();
PrinterJob printJob = PrinterJob.createPrinterJob(printer);
PageLayout pageLayout = printJob.getJobSettings().getPageLayout();
//PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, Printer.MarginType.DEFAULT);
printJob.getJobSettings().setPageLayout(pageLayout);
if (printJob != null) {
boolean success = printJob.printPage(image);
if (success) {
printJob.endJob();
}
}
}
Пожалуйста, дайте мне знать, что я делаю не так. Спасибо. :-)