[Tutorial Java] Convert File PDF ke Text dengan iText

lib

Beberapa minggu terakhir cukup dibuat pusing dengan tugas KKP yang sudah diujung tanduk. Derita mahasiswa menuju semester akhir memang, saat-saat dimana mungkin kita lebih memilih untuk menafkahi anak orang daripada dihadapkan dengan tugas akhir. Tapi kalau dipikir-pikir lagi biaya pernikahan yang tidak murah mengharuskan kita mau tidak mau untuk kuliah, mencari pekerjaan/membangun startup, dan pada akhirnya baru kita bisa meminang anak orang. Rumit memang....
Disela-sela kesibukan dalam
membangun masa depan kuliah, saya menyempatkan untuk membagikan sedikit tutorial tentang bagaimana mengconvert file PDF ke Text dengan Java. Kebetulan program KKP yang saya dan teman-teman saya buat saat ini tidak lepas dari penanganan dokumen. Terlebih lagi pada saat itu saya kesulitan mencari tutorial tentang bagaimana cara convert PDF ke Text dengan Java. Dan akhirnya saya dapatkan informasi dari berbagai macam forum pemrograman dan library documentation yang membahas tentang convert file pdf to text using iText. Pada tutorial kali inilah saya akan megulas balik dan merangkumnya dengan singkat.
PDF(Portable Document Format) merupakan salah satu format file yang banyak digunakan dalam dokumen. Namun adakalanya kita membutuhkan file tersebut dalam bentuk/format lain yang nantinya akan digunakan pada kasus tertentu entah itu dalam format .docx, .txt, dan sebagainya. Pada Java memang tidak disediakan class tertentu untuk dapat mengkonversi file PDF menjadi file Text, namun kita dapat memanfaatkan library iText yang memang dikembangkan untuk dapat memanipulasi file PDF.
Baiklah, pada tutorial kali ini saya menggunakan beberapa tools dan library diantaranya:
  • JDK 1.8
  • Netbeans IDE 8.0
  • Library iText 5.5.7
  • File dengan format ".pdf" yang digunakan sebagai bahan uji.
  • Foto mantan
  1. Pertama, pastikan library iText sudah diimport kedalam library project.
lib
2.   Terlebih dahulu buat class PDFtoTextdengan JFrame dan import class-class dari library iText.
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfReaderContentParser;
import com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy;
import com.itextpdf.text.pdf.parser.TextExtractionStrategy;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

/**
 *
 * @author Zakaria Andy
 * http://zakariandys.com/
 */
public class PDFtoText extends javax.swing.JFrame {
    /*Buat variabel fileChooser untuk menginisialisasikan JFileChooser*/
    public JFileChooser fileChooser = new JFileChooser();
    ...
    ...
    ...

3.   Lalu buat form dengan sederhana yang digunakan untuk pengambilan file dengan memanfaatkan JFileChooser.
frame
4.   Selanjutnya masukan code berikut pada button Browse... yang dimana nantinya digunakan untuk menampilkan JFileChooser.
private void tombolBrowseActionPerformed(java.awt.event.ActionEvent evt){
   // TODO add your handling code here:
   fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
   fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("PDF Document", "pdf"));
   int result = fileChooser.showOpenDialog(this);
   if(result == JFileChooser.APPROVE_OPTION){
     try{
       File selectedFile = fileChooser.getSelectedFile();
       txtDirektori.setText(selectedFile.getAbsolutePath());
     }catch (Exception ex) {
         System.out.println(ex);
      }
   }else {
      System.out.println("FIle acces cancelled by user");
   }
}
5.  Kemudian buat method convertPDFtoText()sebagai method utama pada program ini untuk mengekskusi pengkonversian file PDF menjadi file Text.
public void convertPDFtoText() throws IOException{
        /*variabel "pdf" digunakan untuk menampung alamat direktori tempat file pdf disimpan.*/
        String pdf = txtDirektori.getText();
        StringBuilder text = new StringBuilder();
        String resultText;
        
        /*Buat file Text ".txt"*/
        File namaFile = new File(txtDirektori.getText().replace("pdf", "txt"));
        if(namaFile.createNewFile()){
            System.out.println("File .txt berhasil dibuat.");
        }
        try {
            /*Panggil class yang ada pada library iText untuk membaca file PDF*/
            PdfReader reader = new PdfReader(pdf);
            PdfReaderContentParser parser = new PdfReaderContentParser(reader);
            TextExtractionStrategy strategy;
            for (int i = 1; i <= reader.getNumberOfPages(); i++) {
                strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
                text.append(strategy.getResultantText());
            }
            resultText = text.toString();
            /*Code untuk menuliskan hasil pembacaan file PDF ke file Text*/
            StringTokenizer stringTokenizer = new StringTokenizer(resultText, "\n");
            PrintWriter lineWriter = new PrintWriter(new FileOutputStream(namaFile));
            while (stringTokenizer.hasMoreTokens()) {
                String curToken = stringTokenizer.nextToken();
                lineWriter.println(curToken);
            }
            lineWriter.flush();
            lineWriter.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
    }
6.  Tambahkan method tersebut kedalam tombol Converting.
private void tombolBrowseActionPerformed(java.awt.event.ActionEvent evt) {                                             
   // TODO add your handling code here:
   try {
     convertPDFtoText();
   }catch(Exception e){
      e.printStackTrace();
    }
}
Baiklah, apabila sudah selesai mari kita coba running project dan lakukan pengujian.
  1. Tekan tombol "Browse.." kemudian pilih file PDF yang ingin dikonversikan menjadi file Text.
pilihFile
2.  Kemudian tekan tombol Convertinguntuk memulai pengkonversian filePDF menjadi file Text.
file chooser convert file pdf ke text dengan java
3.  Sekarang lihat folder tempat disimpannya file PDF tersebut. Yaa, file PDF berhasil diubah menjadi file Text.
convert file pdf ke text dengan java
Sebelum diconvert.
convert file pdf ke text dengan java
Setelah diconvert.
Gimana? Cukup mudah kan? Lah wong tinggal memanfaatkan library yang ada.Sekian contoh program sederhana untuk mengconvert file PDF menjadi file Text. Sebenarnya masih banyak lagi hal-hal yang dapat dilakukan dengan memanfaatkan library iText ini seperti menulis file PDF dan lain sebagainya, silahkan dikembangkan sesuai kebutuhan :D. Berbagi itu menyenangkan! Happy ngoding sob!
Berikan komentar postingan ini dibawah ya sob!
Content by Zakaria Andy

1 komentar:

Click here for komentar
14 Maret 2019 pukul 01.45 × Komentar ini telah dihapus oleh pengarang.
avatar
admin

Out Of Topic Show Konversi KodeHide Konversi Kode Show EmoticonHide Emoticon

:)
:(
=(
^_^
:D
=D
=)D
|o|
@@,
;)
:-bd
:-d
:p
:ng
:lv
Thanks for your comment
Loading...