我在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();
}
}
}