PDF Table to Excel & CSV avatar

PDF Table to Excel & CSV

Pricing

from $2.00 / 1,000 tables

Go to Apify Store
PDF Table to Excel & CSV

PDF Table to Excel & CSV

Extract tables from PDF links into rows, one Excel file per PDF and a CSV per table. Tables that run across pages are joined into one. Billed only for tables delivered: $2 per 1,000.

Pricing

from $2.00 / 1,000 tables

Rating

0.0

(0)

Developer

Brandon Ob

Brandon Ob

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

PDF Table to Excel & CSV: extract tables from PDF links

Paste links to PDF files and get every table back as rows you can export, plus one Excel file per PDF and one CSV per table. A table that runs over a page break comes back as one table, not three, and a header repeated on each page is dropped. You are charged per table delivered, never for a PDF that failed or had no tables.

What you get

One dataset item per table, with the rows as objects keyed by the header. Real output from the default run (first 3 pages of a public California layoff-notice report; 3 pages, 1 table, 122 rows):

Notice DateEffectiveReceivedCompanyCityNo. OfLayoff/Closure
06/22/201503/25/201607/01/2015Maxim Integrated ProductSan Jose150Closure Permanent
06/30/201508/29/201507/01/2015McGraw-Hill EducationMonterey137Layoff Unknown at this time
07/17/201509/18/201507/21/2015Boeing CompanyHuntington Beach65Layoff Unknown at this time

Each item also has pdfUrl, table, tablesInPdf, pages, columns, rowCount, csvUrl, excelUrl and extractedAt. The excelUrl file has one sheet per table with a frozen header row. The key-value store record SUMMARY lists PDFs that could not be read and PDFs where no tables were found.

How to use

  1. Add PDF links, one per line. The file must open in a browser without a login.
  2. Optional: the pages to read (1-3,7; empty reads every page).
  3. Pick the table detection: lines for tables drawn with ruled borders, text for tables laid out with spaces and no borders.
  4. Run it, then open the Tables view or download the dataset as CSV, JSON or Excel. For one spreadsheet per PDF, use the excelUrl column.

Other options: join tables that continue on the next page (on by default), use the first row as the header (on by default), ignore tiny tables with fewer data rows than a minimum, a password for protected PDFs, and a maximum number of tables.

Pricing

Pay per event: $2.00 per 1,000 tables (the dataset-item event) plus a $0.00005 Actor start. A 100-page report with one long table that continues across pages is one table. You set a maximum cost per run and the Actor stops cleanly at it.

Limits (honest)

  • Works on PDFs that contain real text. Scanned pages (pictures of paper) have no text to read and come back with no tables; there is no OCR.
  • Table detection is a best effort. Ruled tables work best; borderless tables need the text setting and can merge or split columns when the spacing is uneven. Check the first run on your own layout.
  • Cells that span several columns or rows are not split out. Text in a merged cell appears once, in the first column it covers.
  • Dates that the PDF sets one character at a time (for example 0 3 / 2 5 / 2 0 16) are closed up to 03/25/2016. Other cell text is returned as the PDF has it, with extra whitespace collapsed.
  • Joining across pages needs the same number of columns on both pages and the table to be the first one on the next page.
  • Files up to 50 MB. Public links only.
  • Check that you are allowed to use the PDFs you submit.

FAQ

My table came back empty or in pieces. Try the other Table detection setting, lower Minimum data rows, or switch off Join tables that continue on the next page to see page by page.

Something broke or you need a feature? Open an issue on the Issues tab. I usually reply within a day.