JavaFX: Das Bild wird auf 25% skaliert und dann gedruckt.

Ich versuche, ein Bild mit JavaFX-APIs zu drucken. Leider schneidet es einen Teil des Bildes aus, ungefähr 25%, und streckt diesen Teil dann auf die gesamte A4-Seite und druckt ihn aus. Was mache ich falsch mit dem Druckcode? Wie kann ich anweisen, das Bild an die zu druckende Seite anzupassen, unabhängig davon, um welchen Drucker es sich handelt? Bitte lassen Sie es mich wissen.

Code:

 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();
            }
        }
    }

Bitte lassen Sie mich wissen, was ich falsch mache. Vielen Dank. : -)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage