如何在JPanel中使用PDFBox显示pdf文件?

如何在JPanel中使用PDFBox显示pdf文件?,pdf,netbeans,pdfbox,Pdf,Netbeans,Pdfbox,我已经在netbeans中创建了一个JForm,它可以使用PDFBox读取pdf文件。但问题是我使用了PDPage.convertToImage()方法,它的速度非常慢。有谁能帮助我在JPanel中使用PDFBox以更快的速度显示pdf吗 我编写的代码位于JButton的ActionListener中 File f = null; ArrayList<JLabel> jl = new ArrayList<JLabel>(); BufferedImage bi = null

我已经在netbeans中创建了一个JForm,它可以使用PDFBox读取pdf文件。但问题是我使用了PDPage.convertToImage()方法,它的速度非常慢。有谁能帮助我在JPanel中使用PDFBox以更快的速度显示pdf吗

我编写的代码位于JButton的ActionListener中

File f = null;
ArrayList<JLabel> jl = new ArrayList<JLabel>();
BufferedImage bi = null;
JFileChooser fc = new JFileChooser();
int x=fc.showOpenDialog(null);
if(x==JFileChooser.APPROVE_OPTION)
{
    f=fc.getSelectedFile();
}
        PDDocument doc=null;
    try {
        doc = PDDocument.load(f);
    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null, "not done\n"+ex);


    }
    List pages = doc.getDocumentCatalog().getAllPages();
    Iterator itr = pages.iterator();
    int q=0;
    while(itr.hasNext())
    {
        PDPage page = (PDPage)itr.next();
        try
        {
            bi = page.convertToImage();
            q++;
            jl.add(new JLabel(new ImageIcon(bi)));
        }catch(Exception e)
        {
            JOptionPane.showMessageDialog(null, e);
        }
    }
    itr = jl.iterator();
    while(itr.hasNext())
    {
        viewPanel.setVisible(false);
        viewPanel.add((JLabel)itr.next());
        viewPanel.setVisible(true);
    }
    JOptionPane.showMessageDialog(null, "done");
文件f=null;
ArrayList jl=新的ArrayList();
BuffereImage bi=null;
JFileChooser fc=新的JFileChooser();
int x=fc.showOpenDialog(null);
if(x==JFileChooser.APPROVE\u选项)
{
f=fc.getSelectedFile();
}
PDDocument=null;
试一试{
doc=PDDocument.load(f);
}捕获(IOEX异常){
showMessageDialog(null,“未完成\n”+ex);
}
列表页面=doc.getDocumentCatalog().getAllPages();
迭代器itr=pages.Iterator();
int q=0;
while(itr.hasNext())
{
PDPage=(PDPage)itr.next();
尝试
{
bi=page.convertToImage();
q++;
添加(新的JLabel(新的图像图标(bi));
}捕获(例外e)
{
showMessageDialog(null,e);
}
}
itr=jl.iterator();
while(itr.hasNext())
{
viewPanel.setVisible(假);
添加((JLabel)itr.next());
viewPanel.setVisible(真);
}
showMessageDialog(null,“完成”);

NetBeans有几个插件来显示PDF

http://plugins.netbeans.org/plugin/11676/netbeans-pdfviewer


你试过其中任何一种吗?

我不想让我的netbeans读取pdf文件。相反,我希望用netbeans设计的应用程序能够读取pdf文件。