# /document/extract

Robot: `/document/extract`

Extracts native/selectable text and embedded raster image assets from PDF documents.

This robot does not render full pages. If you need page images, use \`/document/thumbs\`. Vector graphics, charts, and page backgrounds are not always embedded raster images and may therefore not be returned by this robot.

Stage: beta

## Example

```json
{
  "steps": {
    "extracted": {
      "robot": "/document/extract",
      "use": ":original",
      "extract": [
        "text",
        "images"
      ],
      "text_method": "native"
    }
  }
}
```

## Parameters

* `interpolate`: Controls whether Assembly Variables are interpolated for individual instruction fields. By default, most Robot instruction fields interpolate Assembly Variables. Set this to \`false\` to treat every instruction field as literal text, or set an individual field path to \`false\` to treat only that field as literal text. For Robot-specific fields that are literal by default, set this to \`true\` or set that field path to \`true\` to opt back into interpolation. Use field names such as \`path\`, or dotted paths such as \`ffmpeg.vf\` for nested objects.
* `output_meta`
* `result`
* `queue`
* `force_accept`
* `ignore_errors`
* `use`: Specifies which Step(s) to use as input. - You can pick any names for Steps except \`":original"\` (reserved for user uploads handled by Transloadit) - You can provide several Steps as input with arrays: \`\`\`json { "use": \[ ":original", "encoded", "resized" ] } \`\`\` - You can also tag an input Step with \`as\` to pass semantic intent to robots: - You can also tag input Steps with \`as\` to pass semantic intent to robots: \`\`\`json { "use": \[ { "name": ":original", "as": "image" }, { "name": ":original", "as": "mask" } ] } \`\`\` > \[!Tip] > That's likely all you need to know about \`use\`, but you can view \[Advanced use cases]\(/docs/topics/use-parameter/).
* `extract`
* `page_range`
* `password`
* `text_method`
* `ocr_provider`
* `text_format`
* `text_granularity`
* `image_format`
* `min_image_width`
* `min_image_height`
* `min_image_bytes`
* `dedupe_images`
* `include_image_masks`
