Extraction of tables from PDF documents

A lot data exists in PDF only

At Canopy our first preference is to get data as an API (or datafeed) from the custodian.

Unfortunately a large number of custodians (especially in Europe and Asia) are not yet able to provide investments data as APIs and only provide their regular monthly statements (which are provided in paper or PDF)

Therefore to get data from banks who do not offer APIs, Canopy has developed the ability to take these monthly bank statements directly as a data source. We prefer electronically generated PDFs or ePDFs (i.e. the ones downloaded from the bank's website) but can also handle Print PDFs (i.e. scans of paper statements).

Interestingly about 86% of in investments data in Europe and Asia is available in PDF format only (this number is around 15% for North America)

Large chunks of data are available only in PDF formatLarge chunks of data are available only in PDF format

Large chunks of data are available only in PDF format

Banks statements have very complex tables

Multilayer column headers and nesting are the key issues

typical private bank statementtypical private bank statement

typical private bank statement

Benchmarking of Canopy PDF Extraction to Adobe Acrobat

Canopy only extracts the relevant tables from the PDF documentCanopy only extracts the relevant tables from the PDF document

Canopy only extracts the relevant tables from the PDF document

Cells do not get merged in Canopy's extraction of data from PDFCells do not get merged in Canopy's extraction of data from PDF

Cells do not get merged in Canopy's extraction of data from PDF

Tables breaking across pages is not an issueTables breaking across pages is not an issue

Tables breaking across pages is not an issue

Multiple tables on the same page is also not an issueMultiple tables on the same page is also not an issue

Multiple tables on the same page is also not an issue

Alignment does not go haywireAlignment does not go haywire

Alignment does not go haywire

Multi-layer headers is not an issueMulti-layer headers is not an issue

Multi-layer headers is not an issue


Did this page help you?