Apache Тика: Разобранный PDF-файл содержит прямоугольник  как удалить / проанализировать эти символы? - PullRequest
0 голосов
/ 09 июля 2020

Я разбираю pdf-файлы с помощью apache tika, но они есть в результате String . Думаю, это перечисление da sh. Как я могу удалить это из строки результата или правильно проанализировать? Другие символы работают нормально, например, $% & и т. Д.

Вот код для синтаксического анализа из InputStream:

 private SolrInputDocument getDocument(InputStream stream, String docPath) throws SolrServerException {

    SolrInputDocument solrDocument = new SolrInputDocument();

    Parser parser = new AutoDetectParser(); // Should auto-detect!
    BodyContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
    PDFParserConfig pdfConfig = new PDFParserConfig();
    pdfConfig.setExtractInlineImages(false);
    ParseContext parseContext = new ParseContext();

    parseContext.set(PDFParserConfig.class, pdfConfig);
    parseContext.set(Parser.class, parser);
    Metadata metadata = new Metadata();
    metadata.add("encoding", "unicode");
    try {
      parser.parse(stream, handler, metadata, parseContext);
      String body = handler.toString();
      body = CharMatcher.JAVA_ISO_CONTROL.removeFrom(body);
      solrDocument.addField("id", docPath);
      solrDocument.addField("body", body);
      solrDocument.addField("url", docPath);
      solrDocument.addField("extension", PDF_EXTENSION);
    } catch (IOException | SAXException | TikaException e) {
      throw new SolrServerException(e);
    }
    return solrDocument;
  }
...