Tika检测自定义元数据字段

时间:2014-10-16 11:16:30

标签: java apache-tika

我创建了一个简单的类,使用tika库从PDF,html,XLS,DOC等文件中提取元数据。

文件可以包含自定义元数据。我需要检测到并忽略第一步! 但是我可以看到如何用Tika做到这一点! 这是我提取所有元数据的简单代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.PrintWriter;

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.ContentHandler;


public class TikaParse {
   public static String resPFldMeta = new String();
   public static String resPFldMetaValue = new String();

   @SuppressWarnings("deprecation")
   public  static String ParseFieldMetadata(String filename) throws Exception {

    int j;
     FileInputStream is = null;
     File f = new File(filename);
     is = new FileInputStream(f);

     ContentHandler contenthandler = new BodyContentHandler(-1);
     Metadata metadata = new Metadata();
     metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName());

     AutoDetectParser parser = new AutoDetectParser();
     parser.parse(is, contenthandler, metadata,new ParseContext());

     String[] metadataNames = metadata.names();
     // get field name of all  metadata 
     for(j=0;j<metadataNames.length-1; j++){
         resPFldMeta += "\""+(metadataNames[j]).trim()+"\",";
     }
     resPFldMeta += "\""+(metadataNames[j]).trim()+"\"";
     return  resPFldMeta;   
 }
 //.....
}

所以,我的问题是:如何检查检测到的元数据是自定义元数据还是规范化元数据?

0 个答案:

没有答案