I have a stack of PDFs - potentially hundreds or thousands. They are not all formatted the same, but any of them MAY have one or more tables with interesting information that I would like to collect into a separate database.
Of course, I know I have to write something to do this. Perl is an option for me - or perhaps Java. I don't really care what language so long as it's free (or cheap with a free trial period to ensure it suits my purposes).
I'm looking at CAM::Parse (using strawberry Perl), but I'm not sure how to use it to locate and extract tables from the files. I guess I do have a preference for Perl, but really I want something that works dependably and is reasonably easy to do string manipulations with.
What is a good approach for something like this? I'm at square one, so if java (or python etc.) have better hooks, now is a good time to know about it. General pointers good; starter code would be strongly preferred.
Select "Merge Data Files into Spreadsheet..." from the pop-up menu. Click "Add Files" in the "Export Data From Multiple Forms" dialog. Select files containing the form data (either PDF or FDF files). Click "Open".
Docparser is a PDF scraper software that allows you to automatically pull data from recurring PDF documents on scale. Like web-scraping (collecting data by crawling the internet), scraping PDF documents is a powerful method to automatically convert semi-structured text documents into structured data.
Extracting tables from documents can be achieved by creating either a Table Rows or Line Items parsing rule. Watch the following screencast which gives a quick overview of how to create a PDF table extraction parsing rules. Further below you'll find a more detailed step-by-step guide.
The PDF format from its inception (more than 20 years ago) never was intended to be host of extractable, meaningfully structured data.
Its purpose was to be a reliable visual representation of text, images and diagrams in a document -- a kind of digital paper (that would also reliably be transferred to real paper via printing). Only later in its development more features were added, which should help in extracting data again (google for Tagged PDF).
For some examples of problems which are posed when data scraping tables from PDFs, see this article:
Contradicting my point '1.' above, now I say this: for an amazing family of tools that gets better and better from week to week for extracting tabular data from PDFs (unless they are scanned pages), see these links:
So: go look for Tabula. If any tools can do what you want, at this time Tabula is probably amongst the best for the job!
I've recently created an ASCiinema screencast demonstrating the use of the Tabula command line interface to extract a big table from a PDF as CSV:
(Click on image above to see it running. If it runs too fast for you to read all text, make use of the "Pause" button (||
-symbol).)
It is hosted here:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With