> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-fix-js-response-syntax-highlighting.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Processamento de Documentos

> Saiba mais sobre os recursos de processamento de documentos.

O Firecrawl oferece recursos poderosos de parsing de documentos, permitindo extrair conteúdo estruturado de diversos formatos. Esse recurso é particularmente útil para processar arquivos como planilhas, documentos do Word e muito mais.

<div id="supported-document-formats">
  ## Formatos de documentos suportados
</div>

Atualmente, o Firecrawl oferece suporte aos seguintes formatos de documentos:

* **Planilhas do Excel** (`.xlsx`, `.xls`)
  * Cada planilha é convertida em uma tabela HTML
  * As planilhas são separadas por títulos H2 com o nome da aba
  * Preserva a formatação das células e os tipos de dados

* **Documentos do Word** (`.docx`, `.doc`, `.odt`, `.rtf`)
  * Extrai o conteúdo de texto preservando a estrutura do documento
  * Mantém títulos, parágrafos, listas e tabelas
  * Preserva formatação e estilos básicos

* **Documentos PDF** (`.pdf`)
  * Extrai o conteúdo de texto com informações de layout
  * Preserva a estrutura do documento, incluindo seções e parágrafos
  * Lida com PDFs baseados em texto e digitalizados (com suporte a OCR)
  * Oferece a opção `mode` para controlar a estratégia de análise: `fast` (apenas texto), `auto` (texto com fallback de OCR, padrão) ou `ocr` (forçar OCR)
  * Custa 1 crédito por página. Consulte a [tabela de preços](https://firecrawl.dev/pricing) para detalhes.

<div id="pdf-parsing-modes">
  ### Modos de processamento de PDF
</div>

Use a opção `parsers` para controlar como os PDFs são processados:

| Modo   | Descrição                                                                                                                                           |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auto` | Tenta primeiro uma extração rápida baseada em texto e, se necessário, recorre ao OCR. Este é o modo padrão.                                         |
| `fast` | Processamento apenas baseado em texto (texto embutido). É a opção mais rápida, mas não extrai texto de páginas digitalizadas ou com muitas imagens. |
| `ocr`  | Força o uso de OCR em todas as páginas. Use para documentos digitalizados ou quando `auto` classificar uma página incorretamente.                   |

```js theme={null}
// Sintaxe de objeto com modo
parsers: [{ type: "pdf", mode: "ocr", maxPages: 20 }]

// Padrão (modo automático)
parsers: [{ type: "pdf" }]
```

<div id="how-to-use-document-parsing">
  ## Como usar a análise de documentos
</div>

A análise de documentos no Firecrawl funciona de duas formas:

1. **Análise via URL (`/v2/scrape`)**: forneça uma URL que aponte para um tipo de documento compatível.
2. **Análise por upload de arquivo (`/v2/parse`)**: envie os bytes do arquivo diretamente com `multipart/form-data`.

Na análise via URL, o Firecrawl detecta automaticamente o tipo de arquivo pela extensão ou pelo content type.

<div id="upload-documents-with-v2parse">
  ### Faça upload de documentos com `/v2/parse`
</div>

Use `/v2/parse` quando o documento de origem estiver localmente ou não estiver acessível publicamente por URL.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.firecrawl.dev/v2/parse" \
    -H "Authorization: Bearer fc-YOUR-API-KEY" \
    -F 'options={"formats":["markdown"]}' \
    -F "file=@./document.docx;type=application/vnd.openxmlformats-officedocument.wordprocessingml.document"
  ```

  ```js Node theme={null}
  import { Firecrawl } from "firecrawl";

  const app = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

  const doc = await app.parse(
    {
      data: "<html><body><h1>Upload Parse</h1></body></html>",
      filename: "upload.html",
      contentType: "text/html",
    },
    { formats: ["markdown"] },
  );

  console.log(doc.markdown);
  ```

  ```python Python theme={null}
  from firecrawl import Firecrawl
  from firecrawl.v2.types import ScrapeOptions

  app = Firecrawl(api_key="fc-YOUR-API-KEY")
  doc = app.parse(
      b"<!DOCTYPE html><html><body><h1>Upload Parse</h1></body></html>",
      filename="upload.html",
      content_type="text/html",
      options=ScrapeOptions(formats=["markdown"]),
  )
  print(doc.markdown)
  ```
</CodeGroup>

<div id="example-scraping-an-excel-file">
  ### Exemplo: Fazendo scraping de um arquivo Excel
</div>

```js Node theme={null}
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: "fc-SUA-CHAVE-API" });

const doc = await firecrawl.scrape('https://example.com/data.xlsx');

console.log(doc.markdown);
```

<div id="example-scraping-a-word-document">
  ### Exemplo: Extraindo um documento do Word
</div>

```js Node theme={null}
import { Firecrawl } from 'firecrawl';

const firecrawl = new Firecrawl({ apiKey: "fc-SUA-CHAVE-API" });

const doc = await firecrawl.scrape('https://example.com/data.docx');

console.log(doc.markdown);
```

<div id="output-format">
  ## Formato de saída
</div>

Todos os tipos de documentos compatíveis são convertidos em Markdown limpo e estruturado. Por exemplo, um arquivo Excel com várias planilhas pode ser convertido em:

```markdown theme={null}
## Planilha1

| Nome  | Valor |
|-------|-------|
| Item 1 | 100   |
| Item 2 | 200   |

## Planilha2

| Data       | Descrição    |
|------------|--------------|
| 2023-01-01 | Primeiro trimestre|
```

> Você é um agente de IA que precisa de uma chave de API do Firecrawl? Consulte [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para ver instruções automatizadas de onboarding.
