2011-07-11 47 views

Trả lời

5

Đây là từ lucid:

InputStream input = new FileInputStream(new File(resourceLocation)); 
ContentHandler textHandler = new BodyContentHandler(); 
Metadata metadata = new Metadata(); 
PDFParser parser = new PDFParser(); 
parser.parse(input, textHandler, metadata); 
input.close(); 
out.println("Title: " + metadata.get("title")); 
out.println("Author: " + metadata.get("Author")); 
out.println("content: " + textHandler.toString()); 

Thay vì tạo ra một PDFParser bạn có thể sử dụng Tika của AutoDetectParser để tự động xử lý các loại khác của tập tin:

Parser parser = new AutoDetectParser(); 
6

Kiểm tra documentation - có bạn có thể.

Ví dụ

java -jar tika-app-0.9.jar -t http://stackoverflow.com/questions/6656849/extract-the-text-from-url-using-tika 

sẽ hiển thị nội dung trên trang này.

+0

Và nếu tôi cần sử dụng mã này trong mã Java và lưu văn bản từ url trong tệp văn bản .. Sau đó, cũng có thể .. ?? Và tôi không dùng maven. Tôi muốn sử dụng điều này trong mã java .. – ferhan

+1

mô tả cách sử dụng tika với ant là ngay bên dưới mô tả về cách sử dụng nó với Maven, và chỉ ở trên các hướng dẫn cho công cụ dòng lệnh. Nếu bạn cần một số nguồn cảm hứng về cách nhúng nó, tôi chắc chắn có thông tin trên trang web và luôn có nguồn gốc của công cụ dòng lệnh. – fvu

+0

điều này sẽ làm cho một ví dụ tốt đẹp trong tài liệu ... – topchef

1

để trích xuất nội dung từ URL không từ tập tin địa phương sử dụng mã này:

byte[] raw = content.getContent(); 
    ContentHandler handler = new BodyContentHandler(); 
    Metadata metadata = new Metadata(); 
    Parser parser = new AutoDetectParser(); 
    parser.parse(new ByteArrayInputStream(raw), handler, metadata, new ParseContext()); 
    LOG.info("content: " + handler.toString()); 
+0

Bạn cũng có thể sử dụng TikaInputStream.get (byte []) để xây dựng InputStream – Gagravarr

+0

Cảm ơn ,, Tôi không biết tại sao nó cho tôi chuỗi rỗng trong handler.toString() !!! –

3

Có, bạn có thể làm điều đó. Đây là mã. Mã này sử dụng apache http client

HttpGet httpget = new HttpGet("http://url.here"); 
    HttpEntity entity = null; 
    HttpClient client = new DefaultHttpClient(); 
    HttpResponse response = client.execute(httpget); 
    entity = response.getEntity(); 
    if (entity != null) { 
     InputStream instream = entity.getContent(); 
     BodyContentHandler handler = new BodyContentHandler(); 
     Metadata metadata = new Metadata(); 
     Parser parser = new AutoDetectParser(); 
     parser.parse(instream, handler, metadata, new ParseContext()); 
     String plainText = handler.toString(); 
     FileWriter writer = new FileWriter("/scratch/cache/output.txt"); 
     writer.write(plainText); 
     writer.close(); 
     System.out.println("done"); 
    } 
Các vấn đề liên quan