Я пытаюсь напечатать текст и несколько строк, которые я поместил в группу.
В зависимости от действий пользователя возможно, что оно должно быть на нескольких страницах.
Я перепробовал много вещей, все мои ссылки 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();
}
}
}
}