JavaFX一次在多个页面上打印文本以进行双面打印

时间:2018-05-02 01:47:16

标签: javafx printing

我正在尝试打印文本以及我放入群组的一些行。

根据用户可能的操作,它必须位于多个页面上。 我尝试过很多东西,我所有关于此主题的Google链接都标记为已访问过...

我的问题是有多个页面的东西..我想这样做没有任何缩放.. 它也可能是一个集团不适合它,  但不知道什么会更好。

我希望有人可以帮助我.. 我添加了一个简单的例子,我试过它只打印一页......

public class Main extends Application {
private static Stage primaryStage; // **Declare static Stage**

@Override
public void start(Stage primaryStage) throws Exception{
    setPrimaryStage(primaryStage);
    Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
    primaryStage.setTitle("SK");
    primaryStage.setScene(new Scene(root, 1200, 800));
    primaryStage.show();
    drawStuff();

}
static public Stage getPrimaryStage() {
    return Main.primaryStage;
}
private void setPrimaryStage(Stage stage) {
    Main.primaryStage = stage;
}

public static void main(String[] args) {
    launch(args);
}



Group[]  root=new Group[10];
public void drawStuff(){
    for(int i=0;i<=1;i++) {
        root[i]=new Group();
        final Text logo1 = new Text(60, 20, "TEST");
        logo1.setFill(Color.BLACK);
        logo1.setFont(Font.font(java.awt.Font.SANS_SERIF, FontWeight.BOLD, FontPosture.ITALIC, 18));
        root[i].getChildren().add(logo1);
    }
    print();
}
private void print() {
    PrinterJob job = PrinterJob.createPrinterJob();

        for(int i=0;i<=1;i++) {
            boolean success = job.printPage(root[i]);
            if (success) {

                job.endJob();
            }
        }
    }
}

0 个答案:

没有答案