Home > Forum Home > Developing Business Administration Solutions > Importing Data from PDF Files Share

Importing Data from PDF Files

Excel Help for Importing Data From Pdf Files in Developing Business Administration Solutions


Forum TopicPost Reply Login

Importing Data From Pdf Files

Rate this:
(4.2/5 from 24 votes)
Happy Business Spreadsheets has developed a free Excel program to extract and import PDF data into Excel which can be downloaded and used without restriction.

There is a common need to extract and import specific data from PDF files into Excel. Since Excel does not natively support the reading of PDF content, utilities are needed to convert the PDF file content for the Excel format. Several commercial applications accomplish this; however it is often the case where only specific data is required to be imported from multiple PDF files into one structured format.

We created such an application by using VBA code in conjunction with an open source PDF to Text conversion utility, which can be found at Foolabs.

[Download the free PDF data import Excel program here]

The program relies on the conversion utility (included in the download) and all PDF files to reside in the same directory as the Excel application. Text or data to extract are defined in the Control sheet by specifying start text, end text and multiple replacements routines with wildcard support. This enables flexibility to obtain comparable data from multiple PDF files based on patterns independent of different PDF file structures.

As many extraction rules as required can be set in order to create a table of information imported by extraction rule and PDF file name. Information on how to set up rules is available within the Excel application with a help icon and cell comments. The VBA code is commented and open for modification.

Any improvements or new features to the code are welcome to be posted here so that we can update the download version to the benefit of everyone.
 Excel Business Forums Administrator
 Posted by on
 
Replies - Displaying 31 to 40 of 88Order Replies By: Most recent | Chronological | Highest Rated
Happy
Rate this:
(3/5 from 1 vote)
In the example for the text file, it seems you want the third column of data for each product type. In this case, you can specify the start texts as the items required (e.g. 'Food'). The end text can be a new line. When the data comes in as one column, we can use the text to columns command in Excel to split the data out with the tab delimiter and then get all data lined up next to the items.
 Excel Business Forums Administrator
 Posted by on
Confused
Rate this:
(3/5 from 1 vote)
This is a great tool if i can figure out how to do a couple of things.  Each month I have sales reports for every day the Bar was open.  These reports are PDF files.  Below is a excert from the txt file that was created.  

101 - System Tracking
 Food                            27              216.29        Emp Disc 50%                 0                0.00                                     0              0.00
 Liquor                         123              452.89        Manager Comp Open            0                0.00                                     0              0.00
 Beer                            59              178.81        Open Food Disc               0                0.00      Gift Cert Redeemed             0              0.00
 Daquiri                        131              690.99        Mgr Comp 100%                1              -93.08      Emp Charge                     0              0.00
 T-Shirt                          0                0.00        Mgr Comp 50%                 0                0.00      Total Other Payments                          0.00

I need the following in a spreadsheet.
Columns       Results
Food            216.29
Liquor          452.89
Beer            178.81
Daquiri        690.99
T-Shirt            0.00

Please let me know the best way to get these results.  THank you for your help and for creating a great tool. 
 Andy
 Posted by on
Happy
Rate this:
(3/5 from 1 vote)
To be sure, we have modified the Excel file for importing the PDF data to include an option for appending results.  We have tested this working with the test PDF files in the zip file.  The new version can be downloaded from the same link in the original post above.
 Excel Business Forums Administrator
 Posted by on
Confused
Rate this:
(3/5 from 1 vote)
In my opinion that is what its not doing.

This excel VBA code or the pdftotext.exe doesnt know how to not overwrite cells that have data on it. It doesnt matter if the code to delete the data is commented out because every time the program simply starts from the beginning, it reads every PDF file from the beginning, that is intended, but at the same time it overwrites the old data because it was not programmed to resume writing from the first empty cell.

While running the extraction command it knows how to copy data of each pdf file to a new row, but after the extraction process is over it forgets where it left. Next time you run the extraction, it starts from the beginning of the sheet overwriting the old data. That is how it runs because it was intended that way.

I have tried to change the mrow variable VBA code so that it would find the first empty cell, but every time I have run errors on the following command line and that is where I drop off.

VBA Code:
Call Run_Replacements(CStr(Cells(mrow, (j + 3)).Address), CStr(arrTmp(j, 2)))
 Posted by on
Oops
Rate this:
(2/5 from 2 votes)
The modification to the VBA for appending results is independent of the PDF files for data import and should therefore work. The logic is that results are not deleted at the beginning and the first row variable 'mrow' is set to the first empty row in the results.
 Excel Business Forums Administrator
 Posted by on
Confused
Rate this:
(3/5 from 1 vote)
Hi, It isnt still working as I want it to, if I delete the pdf files it has already extracted it overwrites the old data again because it returns to write from the beginning. How it can be made to find the next free cell?
 Posted by on
Confused
Rate this:
(3/5 from 1 vote)
Hello, thanks!

This seems to be working! Highly appreciated! 
 Posted by on
Oops
Rate this:
(4.3/5 from 3 votes)
To be clear, for appending results, we need to remove the clearing of the content and set the start row for output to the next available row below existing content.

Precisely, we replace this code:
VBA Code:
Call clearoutput
mrow = Range("outstart").Row + 1 
With this code:
VBA Code:
mrow = Range("B50000").End(xlUp).Row + 1 
 Excel Business Forums Administrator
 Posted by on
Confused
Rate this:
(3/5 from 1 vote)
Thanks, but I tried that and it didnt have any effect.

Either it still overwrites the old data or the code doesnt know how to "continue from where it left" as in know where the first datafree line is and continue from there. Copying the data automatically to another sheet after the extract would also work but I dont know how to do that either.
 Posted by on
Happy
Rate this:
(3/5 from 1 vote)
To prevent the output from being cleared each time the process is run, we can comment out the line:
Call clearoutput 
This subroutine call is near the beginning of the Run_Extraction VBA routine. 
 Excel Business Forums Administrator
 Posted by on
 Displaying page 4 of 9 

Excel templates and solutions matched for Importing Data from PDF Files:

Solutions: Export MapPoint Waypoints Survey Data Analysis