# Nodejs ingest pdf

**URL:** <https://discuss.elastic.co/t/nodejs-ingest-pdf/288335>\
**Category:** Elasticsearch\
**Created:** [November 3, 2021, 2:27pm UTC](https://discuss.elastic.co/t/nodejs-ingest-pdf/288335 "2021-11-03T14:27:02Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![uros87](https://avatars.discourse-cdn.com/v4/letter/u/5f9b8f/32.png) [@uros87](https://discuss.elastic.co/u/uros87)\
**Post date:** [November 3, 2021, 2:27pm UTC](https://discuss.elastic.co/t/nodejs-ingest-pdf/288335/1 "2021-11-03T14:27:02Z")

</div>

Hello,  
I've tried to inject pdf file to elastic.

```auto
PUT _ingest/pipeline/pdfnew
{
  "description": "Extract attachment information encoded in Base64 with UTF-8 charset",
  "processors": [
    {
      "attachment": {
        "field": "file"
      }
    },
    {
      "remove": {
        "field": ["file"]
      }
    }
  ]
}

```

first i made manually in kibana ingest,  
and then on my route I'm trying something like this:

```auto
 let buffer = fs.readFileSync('../../../Desktop/sample.pdf', {
    encoding: 'base64',
  });

const index = client.index({
    id: 101,
    index: 'pdf-test9',
    pipeline: 'pdfnew',
    body: {
      file: buffer,
    },
  });

```

when a request is made I get content like this in Kibana with this weird """ on start and end.  
Can you help me with this

when I get then in Kibana  
GET pdf-test9/\_search  
i get

 ![upload](https://us1.discourse-cdn.com/elastic/original/3X/9/7/97da6486f49ff4cc407931785471f2d45ddd4967.png)

---

<div class="post-metadata">

**Author:** ![aaron-nimocks](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aaron-nimocks/32/73965_2.png) [@aaron-nimocks](https://discuss.elastic.co/u/aaron-nimocks)\
**Post date:** [November 3, 2021, 3:22pm UTC](https://discuss.elastic.co/t/nodejs-ingest-pdf/288335/2 "2021-11-03T15:22:06Z")

</div>

The triple quotes are normal for storing large unstructured text. This is so you don't have to escape special characters, maintains line breaks, etc. The attachment ingest processor is most likely doing this for you.

```auto
POST test/_doc/
{
  "message": """
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  
  ";';';^#$*()$#*&$(#*&@$@*#$&@#)_)({}|}{:>?<,./;'[])
  
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  """
}

```

---

<div class="post-metadata">

**Author:** ![uros87](https://avatars.discourse-cdn.com/v4/letter/u/5f9b8f/32.png) [@uros87](https://discuss.elastic.co/u/uros87)\
**Post date:** [November 3, 2021, 3:51pm UTC](https://discuss.elastic.co/t/nodejs-ingest-pdf/288335/3 "2021-11-03T15:51:40Z")

</div>

Thank you Aaron on response,  
So that means that all my content is searchable now, like this:

```auto

GET pdf-test9/_search
{
  "query": {
    "match_phrase": {
      "attachment.content": {
        "query": "and more text."
      }
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![aaron-nimocks](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aaron-nimocks/32/73965_2.png) [@aaron-nimocks](https://discuss.elastic.co/u/aaron-nimocks)\
**Post date:** [November 3, 2021, 3:58pm UTC](https://discuss.elastic.co/t/nodejs-ingest-pdf/288335/4 "2021-11-03T15:58:20Z")

</div>

Yes, as long as your data mapping for `attachment.content` is type `text` which I think it should be.

Use `GET pdf-test9/_mapping` to verify.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 1, 2021, 3:58pm UTC](https://discuss.elastic.co/t/nodejs-ingest-pdf/288335/5 "2021-12-01T15:58:43Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
