> ## Documentation Index
> Fetch the complete documentation index at: https://parabola.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# PDF Parsing Tips

> Quick-reference constraints, best practices, and things to know before your PDF parsing flow goes live.

## Hard limits

* PDFs must be **under 500MB** and **30 pages or fewer**. Files that exceed either limit will not process.
* **Password-protected PDFs cannot be parsed.** If your vendor sends encrypted files, ask them to remove the password before sending — or build a separate decryption step before your Parabola flow.

***

## Best practices

<AccordionGroup>
  <Accordion title="Parse only the pages you need">
    The more pages included, the longer the run. If your data appears on consistent pages across documents, use **Page Filtering** in the advanced settings to limit what the AI reads. Fewer pages means faster results — especially at scale.
  </Accordion>

  <Accordion title="One table per step">
    Each Extract from email step can only extract **one table** at a time. If you need to pull data from multiple distinct tables within the same PDF, you'll need a separate step for each table.
  </Accordion>

  <Accordion title="Always audit your output before going live">
    AI extraction is powerful but not infallible — especially with complex or inconsistently formatted documents. We strongly recommend reviewing the step's output in Parabola with a few representative sample files before connecting it to a production destination.
  </Accordion>

  <Accordion title="Consolidate results across multiple runs">
    One file is processed per run. If you're parsing many PDFs over time, connect your flow to a **Parabola Table** or an external sheet so results accumulate rather than being overwritten. Without a persistent destination, each new run replaces the previous output.
  </Accordion>

  <Accordion title="Use the file URL for audit trails">
    When you enable **Email content + attachment** and pull in the `file_url`, you get a shareable link to the original PDF. Include this in your destination data so you can always trace any row back to its source document — useful for invoice audits, dispute resolution, and compliance workflows.
  </Accordion>

  <Accordion title="Use field-level instructions for better results">
    If a specific column or key isn't returning the right data, the fix usually lives at the field level — not in the general Fine-tuning section. Add clear descriptions, example values, and targeted instructions directly on the column or key that's underperforming. The more specific the guidance, the better the AI will do.
  </Accordion>
</AccordionGroup>

***

## A note on handwritten documents

Parabola can extract handwritten data, but results depend on legibility.

If you're working with handwritten PDFs:

* Switch the **text parsing approach** to **OCR** in the advanced settings
* Add clear descriptions and example values for every column and key
* Start with a small batch of sample documents and review the output before running at scale

***

## Quick reference

| Constraint                  | Limit         |
| --------------------------- | ------------- |
| Max file size               | 500MB         |
| Max pages                   | 30            |
| Max emails in queue         | 1,000         |
| Files processed per run     | 1             |
| Tables extractable per step | 1             |
| Password-protected PDFs     | Not supported |
