JavaFX PrinterJob在打印时添加页边距,将其从页面中推出

JavaFX PrinterJob在打印时添加页边距,将其从页面中推出,java,javafx,Java,Javafx,我把我所有的信息都放在一个VBox中,所以我试图打印它,但它不断地增加一个巨大的边距,并将VBox的一半从我的屏幕上移开。我曾尝试将其作为节点传递,将边距设为0,禁用Main.java中的所有填充,但没有任何效果。我是以PDF格式打印的,所以我认为我的打印机不是问题所在。任何帮助都会大有裨益!(还有,我是新来的,所以请不要烤我 public class PrintStructure { public void print(final VBox node) { try {

我把我所有的信息都放在一个VBox中,所以我试图打印它,但它不断地增加一个巨大的边距,并将VBox的一半从我的屏幕上移开。我曾尝试将其作为节点传递,将边距设为0,禁用Main.java中的所有填充,但没有任何效果。我是以PDF格式打印的,所以我认为我的打印机不是问题所在。任何帮助都会大有裨益!(还有,我是新来的,所以请不要烤我

public class PrintStructure {

public void print(final VBox node)
{

    try
    {
        // Select printer
        final PrinterJob job = Objects.requireNonNull(PrinterJob.createPrinterJob(), "Cannot create printer job");
        final Scene scene = Objects.requireNonNull(node.getScene(), "Missing Scene");

        if (! job.showPrintDialog(scene.getWindow()))
            return;

        // Scale image to full page

        final Printer printer = job.getPrinter();
        final Paper paper = job.getJobSettings().getPageLayout().getPaper();
        final PageLayout pageLayout = printer.createPageLayout(paper,
                PageOrientation.PORTRAIT, Printer.MarginType.HARDWARE_MINIMUM);
        final double scaleX = pageLayout.getPrintableWidth() / node.getWidth();
        final double scaleY = pageLayout.getPrintableHeight() / node.getHeight();
        final Scale scale = new Scale(scaleX, scaleY);
        node.getTransforms().add(scale);

        if (job != null) {
            boolean success = job.printPage(node);
            if (success) {
                System.out.println("Done printing!");
                job.endJob();
                node.getTransforms().remove(scale);
            }
        }
    }
    catch (Exception ex)
    {
        System.out.println("There was an error");
    }
}

}

确保打印前打印显示设置。这样,您可以打印成pdf并保存纸张。它还可以让您使用打印设置。也许您可以从中了解错误所在。它还可以让您在代码中使用打印设置而不浪费纸张。@Sedrick是的,我正在打印到这就是为什么我认为我的打印机没有问题。请确保打印在打印前显示设置。这样,您可以打印为PDF并保存纸张。它还允许您使用打印设置。也许您可以了解使用这些设置时出现的问题。它还允许您在代码w中使用打印设置没有浪费纸张。@Sedrick是的,我正在打印PDF,这就是为什么我认为我的打印机没有问题