test code user/berick/lp1741299-hatch-dymo
authorBill Erickson <berickxx@gmail.com>
Mon, 30 Apr 2018 20:29:37 +0000 (15:29 -0500)
committerBill Erickson <berickxx@gmail.com>
Mon, 30 Apr 2018 20:29:37 +0000 (15:29 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Test.java [new file with mode: 0644]

diff --git a/Test.java b/Test.java
new file mode 100644 (file)
index 0000000..d9bf165
--- /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();
+        }
+    }
+}