4
我想将一些文本发送到打印机。我只需要打印文本,并将其包装在页边距上,并在必要时流向另一页。如何只打印文本?
这里是什么,我现在所做的一个小例子:
@FXML
private void print() {
TextArea printArea = new TextArea(textArea.getText());
printArea.setWrapText(true);
printArea.getChildrenUnmodifiable().forEach(node -> node.setStyle("-fx-background-color: transparent"));
printArea.setStyle("-fx-background-color: transparent");
PrinterJob printerJob = PrinterJob.createPrinterJob();
if (printerJob != null && printerJob.showPrintDialog(textArea.getScene().getWindow())) {
if (printerJob.printPage(printArea)) {
printerJob.endJob();
// done printing
} else {
// failed to print
}
} else {
// failed to get printer job or failed to show print dialog
}
}
什么最终印刷是一个灰色的背景,这似乎是控件本身,与滚动条一起。我以错误的方式接近这个吗?我觉得我正在通过调整和打印控件来对抗API,而不是仅仅发送要打印的文本。
下面的示例图像是从我的手机相机拍摄的,所以白皮书最终看起来有点浅灰色,但仍然可以看到控件和滚动条的灰色背景。