Word to Text

Hi All

How can I get the text from Word Document

Thanks
lakkiprasannaAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
sudhakar_koundinyaConnect With a Mentor Commented:
Hi ALL

FYI

Text Mining is basically developed using POI API only.


POI
It concentrates on MS office Document formats for both reading and writing


Text Mining

It is concentrating on different document formats for getting only text (i.e. reading only). Developer of text mining API is also developer of POI API. you can check different apis from single api in near future at thi site (just for text extraction only)

Some of problems that are raising in POI API are  fixed in textmining. Jakarta didn't released fully functional POI (still working on HWPF formats - I mean Word Document Formats)

Currently POI is supporting word97 to word 2003 formats. Whereas Textmining is giving support for Word 6.0 Formats also. I have communicated to developer of POI API for word2.x version. And I have contributed my self  with sample code for word 2.x formats.
The code for word2.x is listed at
http://www.textmining.org/modules.php?op=modload&name=News&file=article&sid=8&mode=nested&order=1&thold=0
So we may see the word2.x support in near future (a positve hope :-))


BOTH textmining and poi api does not have support for fast saved (complex) documents.


Regards
0
 
sudhakar_koundinyaCommented:
You can use textmining api for this
0
 
sudhakar_koundinyaCommented:
Download api from www.textmining.org

Regards
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
sudhakar_koundinyaCommented:
A sample example

//package org.prithvi.test;


import java.io.*;

/**
 * <p>Title: Parsers</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class Word2Text {

  public static void main(String[] args) throws Exception{
   
     java.util.Date start=new java.util.Date();
       SearchFolder(args[0]);
       java.util.Date end=new java.util.Date();


       successLog.append("\n\nTotal No of Successfull parsed files: "+success);
        successLog.append("\n\nTotal No of  files: "+(success+error));
         successLog.append("\n\nTotal Execution Time(in milli seconds): "+(end.getTime()-start.getTime()));

      errorLog.append("\n\nTotal No of bad files : "+error);
  errorLog.append("\n\nTotal No of  files: "+(success+error));
   errorLog.append("\n\nTotal Execution Time(in milli seconds): "+(end.getTime()-start.getTime()));

   FileOutputStream fout=new FileOutputStream("success.textmining.log");
   fout.write(successLog.toString().getBytes());
   fout.close();
   fout=new FileOutputStream("error.textmining.log");
   fout.write(errorLog.toString().getBytes());
   fout.close();


  }

  static int success=0;
  static int error=0;

  public static void SearchFile(String strFile)
  {
      java.util.Date start = new java.util.Date();

      File f=new File(strFile);
      long size=f.length() ;

    try
    {
            FileInputStream fin=new FileInputStream(strFile);
            org.textmining.text.extraction.WordExtractor extractor=new org.textmining.text.extraction.WordExtractor();
            String str=extractor.extractText(fin);            
            java.util.Date end=new java.util.Date();
            String str2="\nParsed Time(in milli seconds) :"+(end.getTime()-start.getTime());
            start=new java.util.Date();
            FileOutputStream fout=new FileOutputStream(strFile+".textmining.txt");
            fout.write(str.getBytes());
            end=new java.util.Date();
            String str1="\nWriting Time(in milli seconds) :"+(end.getTime()-start.getTime());
            fout.close();
            fin.close();
//             java.util.Date end = new java.util.Date();
              successLog.append("\n\nFile :"+strFile) ;
              successLog.append("\nFile Size (in bytes):"+size) ;
              successLog.append("\nOutput File :"+strFile+".textmining.txt") ;
              successLog.append("\nStart Time:"+start) ;
              successLog.append("\nEnd Time :"+end) ;
              successLog.append(str2);                  
              successLog.append(str1);                  
              success++;

    }
    catch(Exception Exe)
    {
      java.util.Date end = new java.util.Date();
      errorLog.append("\n\nFile :"+strFile) ;
      errorLog.append("\nFile Size:"+size) ;
      errorLog.append("\nStart Time:"+start) ;
      errorLog.append("\nEnd Time :"+end) ;
      errorLog.append("\nTime in Milli Seconds :"+(end.getTime()-start.getTime() )) ;
      errorLog.append("\nException :"+Exe) ;
        error++;

    }


  }
  public static void SearchFolder(String strFile) throws Exception
  {
    File file=new File(strFile);
    if(file.isDirectory()==false )
    {
      errorLog.append("\n\n"+strFile+" is not directory") ;
      return;
    }
    String files[]= file.list() ;
    for(int i=0;i<files.length ;i++)
    {
     String docFile=files[i];
     docFile.toLowerCase() ;
      if(docFile.endsWith(".doc") )
      {
        SearchFile(strFile+"/"+docFile);
      }

    }

  }

  static StringBuffer errorLog=new StringBuffer("");
  static StringBuffer successLog=new StringBuffer("");
}
0
 
WebstormCommented:
Hi  lakkiprasanna,

See also http://jakarta.apache.org/poi/
0
 
Mayank SAssociate Director - Product EngineeringCommented:
You also have: http://api.openoffice.org
0
 
Mayank SAssociate Director - Product EngineeringCommented:
By the way, why does this question have 495 points ;-) ? 500 is unlucky? :-)
0
All Courses

From novice to tech pro — start learning today.