JavaFX-Apache pdfbox视图在窗格中的PDDocument

时间:2018-07-31 12:02:57

标签: javafx pdfbox

我在javaFx应用程序中使用apache pdfbox,现在我正在阅读pdf文档,我想在org.apache.pdfbox.pdmodel.PDDocument的窗格内显示FXML。到目前为止,我尝试使用org.apache.pdfbox.PDFReader,但它正在使用自己的Jframe。我想在窗格中显示它。

这是我到目前为止所做的

public class CustomPDFReader extends PDFReader {
    public CustomPDFReader(BillModel bm) {
        super();
        showAllPages(bm.getAllPages());
        setVisible(true);
    }

    private void showAllPages(List<PDPage> pagesList) {
        try {
            Field documentPanel = getClass().getSuperclass().getDeclaredField("documentPanel");
            documentPanel.setAccessible(true);
            JPanel panel = (JPanel) documentPanel.get(this);
            GridLayout layout = new GridLayout(0, 1);
            panel.setLayout(layout);
            for(PDPage page : pagesList) {
                PageWrapper wrapper = new PageWrapper(this);
                wrapper.displayPage(page);
                panel.add(wrapper.getPanel());
            }
            pack();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

}

0 个答案:

没有答案
相关问题