From: Bill Erickson Date: Mon, 30 Apr 2018 20:29:37 +0000 (-0500) Subject: test code X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=b717ab4236144077c408dd834d7870299c358a36;p=working%2FHatch.git test code Signed-off-by: Bill Erickson --- diff --git a/Test.java b/Test.java new file mode 100644 index 0000000000..d9bf165e00 --- /dev/null +++ b/Test.java @@ -0,0 +1,56 @@ + +// https://www.java-forums.org/javafx/95904-illegalargumentexception-bad-margins-when-printing-dymo-labelwriter-450-a.html + +import javafx.print.*; +import javafx.scene.web.WebEngine; +import javafx.collections.ObservableSet; +import javafx.collections.SetChangeListener; + +import javafx.scene.Node; +import javafx.scene.shape.Shape; +import javafx.scene.shape.Circle; + +import javax.print.PrintService; +import javax.print.PrintServiceLookup; +import javax.print.attribute.Attribute; +import javax.print.attribute.AttributeSet; +import javax.print.attribute.PrintRequestAttributeSet; +import javax.print.attribute.standard.Media; +import javax.print.attribute.standard.OrientationRequested; + +import java.lang.IllegalArgumentException; +import java.io.StringWriter; +import java.io.PrintWriter; + +public class Test { + + public static void main(String[] args) { + Printer printer = Printer.getDefaultPrinter(); + System.out.printf("Selected: %s\n", printer.getName()); + + Node node = new Circle(2,2,2); //something to print + try { + + PrinterAttributes attributes = printer.getPrinterAttributes(); + System.out.printf("\nLabel Size: %g, %g(%s)\n", + attributes.getDefaultPaper().getWidth(), attributes.getDefaultPaper().getHeight(), + attributes.getDefaultPaper().toString()); + + Paper label = attributes.getDefaultPaper(); + PageOrientation orientation = printer.getPrinterAttributes().getDefaultPageOrientation(); + PageLayout layout = printer.createPageLayout(label, orientation, Printer.MarginType.HARDWARE_MINIMUM); + System.out.printf("\nPageLayout: %s\n", layout.toString()); + + PrinterJob printerJob = PrinterJob.createPrinterJob(); + + boolean success = printerJob.printPage(layout, node); + System.out.println("printerJob.printPage : " + success); + + if(success) { + printerJob.endJob(); + } + } catch(IllegalArgumentException e) { + e.printStackTrace(); + } + } +}