Java NetBeans ile Free PDF to Word Converter programı yapımı

Bugün java ile  yapmış olduğum PDF to Word Converter programının kodlarını ekliyorum. Kodlardan anlıyacağınız gibi jfilechooser ,jmenubar,jmenuitem, jbuton ve click olaylarının felan nasıl  kullanıldığını basit bir pencerenin nasıl oluşturulduğunu da görebilirsiniz.
Not: Windows 8 64 Bit, NetBeans IDE 7.4 ile java SDK 1.8 32 bit sürümü ile oluşturulmuştur.



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package array;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileFilter;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

/**
 *
 * @author fiyu
 */
public class ocr extends JFrame{
    JFrame pencere = new JFrame();
    JTextField dosyaYolu = new JTextField(20);
    JButton acButon = new JButton("Dosya Seç");
    JButton ConvertButon = new JButton("Cevir");
    JPanel panel= new JPanel();
    JFileChooser chooser = new JFileChooser();
    JLabel docLabel = new JLabel();
    JLabel pdfLabel = new JLabel();
    JLabel okisaret = new JLabel();
    JMenuBar menuBar = new JMenuBar();
    JMenuItem mnuItem = new JMenuItem("Hakkında");
    JMenu menu = new JMenu("Dosya");
    
            
    public ocr(){
    setLayout(new FlowLayout());
    pencere.setTitle("PDF to WORD Çevirici");
    pencere.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pencere.setSize(450,210);
    pencere.setVisible(true);
    pencere.setResizable(false);
  
    
    menuBar.add(menu);
    menu.add(mnuItem);
    pencere.setJMenuBar(menuBar);

    pencere.add(panel);
    panel.add(acButon);
    panel.add(dosyaYolu);
    panel.add(ConvertButon);
    panel.add(pdfLabel);
    panel.add(okisaret);
    panel.add(docLabel);
   

    pdfLabel.setIcon(new ImageIcon("pdf.jpg"));
    okisaret.setIcon(new ImageIcon("ok.jpg"));
    docLabel.setIcon(new ImageIcon("doc.png"));
   
   mnuItem.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
        JOptionPane.showMessageDialog(rootPane, "java-defterim.blogspot.com\n"+"Bu Program Bedavadır");
        }
    });
   
        ConvertButon.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            File dosya = new File(dosyaYolu.getText());
           Tesseract instance = Tesseract.getInstance();
            try {
                instance.setLanguage("tur");
                String sonuc = instance.doOCR(dosya);
                FileWriter writer = new FileWriter(dosyaYolu.getText()+"Ceviri.doc");
                writer.write(sonuc);
                writer.close();
                JOptionPane.showMessageDialog(rootPane, "Tamamlandı");
            } catch (TesseractException ex) {
                Logger.getLogger(ocr.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(ocr.class.getName()).log(Level.SEVERE, null, ex);
            }
                   }
                 });
      
        acButon.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
           chooser.setDialogTitle("PDF Dosyası seciniz...");
           chooser.setVisible(true);
           chooser.setFileFilter(new FileFilter() {

               @Override
               public boolean accept(File f) {
                    if (f.isDirectory())
                   return true;
                     String s = f.getName();
                     int i = s.lastIndexOf('.');
                         if (i > 0 && i < s.length() - 1)
                         if (s.substring(i + 1).toLowerCase().equals("pdf"))
                             return true;

                    return false;
                 
               }

               @Override
               public String getDescription() {
               return "*.PDF";
               }
               
           });
           int result = chooser.showOpenDialog(panel);
           if(result ==chooser.APPROVE_OPTION){
                    chooser.addActionListener(new ActionListener() {

               @Override
               public void actionPerformed(ActionEvent e) {
                dosyaYolu.setText(chooser.getSelectedFile().getAbsolutePath());
                      }
                     });
           }else if(result==chooser.CANCEL_OPTION){
               JOptionPane.showMessageDialog(rootPane, "İptal edildi");
               dosyaYolu.setText("");
           }
           
        }
    });
             
    }
    public static void main(String args[]) throws InterruptedException{
        try {
            java.awt.EventQueue.invokeLater(new Runnable() {
           @Override
                public void run() {
                    new ocr();
                }
            });
        } catch (Exception ex) {
            Logger.getLogger(ocr.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Yorumlar