
How to diplay the pdf files in java panel using scrollpane...

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
class PDFViewer
{
public static void main(String[] args)
{
final JFrame f=new JFrame();
f.setLayout(null);
JLabel label=new JLabel("Select File");
final JTextField text=new JTextField(20);
final JTextArea area=new JTextArea(20,10);
final JScrollPane pane=new JScrollPane(area);
JButton b1=new JButton("Browse");
JButton b2=new JButton("Show Data");
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
JFileChooser fileChooser = new JFileChooser(new File("C:/"));
fileChooser.addChoosableFileFilter(new MyFilter());
fileChooser.showOpenDialog(f);
File f=fileChooser.getSelectedFile();
String path=f.getPath();
text.setText(path);
}
});
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
File f=new File(text.getText());
try {
Document document = new Document();
document.open();
PdfReader reader = new PdfReader(f.getPath());
PdfDictionary dictionary = reader.getPageN(1);
PRIndirectReference reference = (PRIndirectReference)
dictionary.get(PdfName.CONTENTS);
PRStream stream = (PRStream) PdfReader.getPdfObject(reference);
byte[] bytes = PdfReader.getStreamBytes(stream);
PRTokeniser tokenizer = new PRTokeniser(bytes);
StringBuffer buffer = new StringBuffer();
while (tokenizer.nextToken()) {
if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {
buffer.append(tokenizer.getStringValue());
buffer.append("\n");
}
}
String test=buffer.toString();
area.append(test);
document.close();
}
catch (Exception ex) {}
pane.setVisible(true);
}
});
label.setBounds(10,10,100,20);
text.setBounds(120,10,120,20);
b1.setBounds(260,10,100,20);
b2.setBounds(380,10,100,20);
pane.setBounds(120,40,360,100);
pane.setVisible(false);
f.add(label);
f.add(text);
f.add(b1);
f.add(b2);
f.add(pane);
f.setVisible(true);
f.setSize(500,300);
}
}
class MyFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String filename = file.getName();
return filename.endsWith(".pdf");
}
public String getDescription() {
return "*.pdf";
}
}
For the above code, you need itext api
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.