Skip to main content
Glama
pandadad0214

Panda Federation Tools

PDF Table Extractor: PDF to Excel & CSV Converter with OCR

pdf_table_extractor
Read-only

Extracts tables from PDFs into Excel and CSV, handling page ranges, merged tables, and OCR for scanned pages so printed data can be reused.

Instructions

Use this to extract every table from PDF files into Excel and CSV (PDF to Excel converter, OCR for scans). Input: PDF URLs or uploads plus optional page ranges. Output: one row per table with pages, header, row and column counts and cell data, plus Excel and CSV files.

Runs the Apify Actor pandadad0214/pdf-table-extractor (https://apify.com/pandadad0214/pdf-table-extractor) on your own Apify account. Price: $0.001 per page analysed; $0.003 per table extracted; $0.02 per scanned page ocr. Runs that find nothing are not charged per result. Spending is capped per call by run_max_charge_usd.

Input Schema

NameRequiredDescriptionDefault
pagesNoPages. Optional. Only these pages, e.g. 1-5, 8, 12-end. Leave empty for all pages (up to the page limit below).
pdfUrlsNoPDF URLs. Direct links to PDF files. Google Drive and Dropbox share links are converted to direct downloads automatically. Up to 150 MB per file.
pdfStoreNoKey-value store with PDFs. Optional. Pick a key-value store in your account that holds PDFs. The Actor gets read access to this store only.
detectionNoTable detection. Auto tries ruled-grid detection first and switches to whitespace (column alignment) detection when that recovers more of the table. Pick one mode if you know your PDF's style. Choices: auto = Auto (recommended); lattice = Ruled tables only (cell borders); stream = Whitespace tables only (no borders).auto
pdfStoreKeysNoRecord keys in that store. Optional. Keys of the PDFs to process (e.g. REPORT.pdf). Leave empty to process every PDF record in the store (up to 50).
run_max_itemsNoOptional. Most results to return from this call (default from PANDA_MAX_ITEMS, 50). Also limits how many results the Actor produces and charges for, unless you set its own max field.
maxPagesPerPdfNoMaximum pages per PDF. Caps cost and run time on very long documents. You pay per page analysed. Whole number, 1 to 2,000 pages; default 100.
headerDetectionNoHeader row. Auto finds header rows above the first data row (multi-line headers are joined). First row = always use row 1. None = generic Column 1, Column 2… names. Choices: auto = Auto-detect; firstRow = Always the first row; none = No header.auto
ocrScannedPagesNoOCR scanned pages (beta). Pages with no text layer (scans, photos) are always detected. Off (default): they are skipped, listed in SUMMARY and on the Index sheet, and cost nothing. On: they are read with Tesseract OCR (English) and their tables are marked 'verify'. OCR is slow (about a minute per page) and can misread digits and dot leaders, so use it for clean scans and check the numbers.
mergeAcrossPagesNoJoin tables that continue on the next page. When a table carries on over a page break with the same columns, output it as one table with a page range. Default: on.
mergeWrappedRowsNoMerge wrapped rows. Join labels that wrap onto a second line back into one row, so numbers stay on the right line. Default: on.
numbersAsNumbersNoNumbers as numbers in Excel. Write 1,234 / (56) / 4.2% as real Excel numbers (parentheses = negative) so you can sum and chart them. CSV and dataset keep the text exactly as printed. Default: on.
run_timeout_secsNoOptional. Seconds to wait for results (default from PANDA_TIMEOUT_SECS, 120; max 300).
maxOcrPagesPerPdfNoMaximum OCR pages per PDF. OCR has its own cap because it is slow and priced per page. Extra scanned pages are flagged, not charged. Whole number, 0 to 100 pages; default 10.
run_max_charge_usdNoOptional. Hard spending cap for this call in USD (default from PANDA_MAX_CHARGE_USD, 0.50).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: it discloses the per-page, per-table and per-OCR-page pricing, that empty runs are not charged per result, and that spend is hard-capped by run_max_charge_usd. It also names the underlying Actor and states it runs on the caller's own Apify account — key operational context for a paid, external run.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and input/output shape in one tight sentence, followed by a separate paragraph on Actor, pricing and caps. Both paragraphs earn their place, though the pricing sentence is dense and packs several distinct facts (per page, per table, per OCR page, minimum-charge exclusion) into one run-on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 15 parameters and no output schema, the description does the necessary work by describing the return shape (one row per table with pages, header, row/column counts, cell data, plus Excel and CSV files). Combined with the schema's own cost-control parameters, an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 15 parameters is already documented in the schema, including the enum meanings for detection and headerDetection. The description only restates 'PDF URLs or uploads plus optional page ranges', adding no syntax or trade-off detail beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('extract every table from PDF files into Excel and CSV') plus the OCR dimension for scans. No sibling tool touches PDFs, so the agent can identify this as the table-extraction tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this to extract every table from PDF files...' gives clear context for when to reach for it, and the input line clarifies accepted sources (PDF URLs or uploads plus page ranges). It stops short of explicit exclusions (e.g. text-only PDFs or extraction of figures/non-tabular content), but with unrelated siblings that gap is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.