0

我在 FXML 场景构建器中编码,我正在尝试获取我的 TableView(在边界窗格中心)并将其放入 PDF 中。我正在使用 iText 并创建一个 PDF,将一些图像放入其中,但我无法获取 Borderpane 的数据或 TableView。

@FXML
TableView<ItemList> table;
@FXML
TableColumn<ItemList, String> tableName;
@FXML
TableColumn<ItemList, String> tableCount;
@FXML
TableColumn<ItemList, String> tablePrice;
@FXML
TableColumn<ItemList, String> tableTotal;
@FXML
private BorderPane dneme;

我的桌子在边框的中央。我试过 dneme.getCenter().getScene().getWindow() 或 table.getScene().getWindow() 我也试过没有 getCenter()、getScene() 或 getWindow()。

我的程序有一个表格,数据将添加到其中,我只想获取我的表格并将其放入 PDF。只有表格位于边框的中心。在此处输入图像描述

4

1 回答 1

0

谢谢你的帮助。我在尝试时发现了同样的事情,它对我最有效。我的问题是,它获得了屏幕快照,但它不适合我的 pdf 框架。我剪掉了一部分,但正如我所说,它奏效了。我用了

    WritableImage image = dneme.getCenter().snapshot(new SnapshotParameters(), null);
    Document document = new Document();
    try {
        PdfWriter.getInstance(document, new FileOutputStream("ImagesBOTTOMPDF.pdf"));
        document.open();

        File outputfile = new File("d.png");
        ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", outputfile);

        Image imageRight = Image.getInstance("d.png");
        document.add(imageRight);

    } catch (FileNotFoundException | DocumentException i) {
        System.err.println(i.getMessage());
    }
    document.close();

我想我稍微改变一下框架,问题就会解决。它变成了我的快照的 png 文件,png 看起来不错,但是当它导出为 pdf 时,它会改变框架。(对不起,我的英语不好)

于 2016-07-11T23:23:05.610 回答