How to extract data from pdf file in matlab?

297 views (last 30 days)
I am in search of such algorithm that will extract data from pdf file.For example in the pdf file a sentence is present i.e: Account# 29 . I want to extract 29 from pdf file.If it is possible by fopen() function ,please share it with me.I have tried pdftotext but doesn't succeed. Now if it is possible to extract data from pdf with the help of fopen(), it will be better.I also tried fopen() but leads to failure.Please share you experience with me..Thanks.
  6 Comments
José-Luis
José-Luis on 19 Sep 2014
Yes, I have seen it and it doesn't work. In principle, it might work for trivial purposes like changing the font type, but I have no idea what kind of data you are trying to extract.
Writing a robust algorithm is a tall order.
azizullah khan
azizullah khan on 20 Sep 2014
Edited: azizullah khan on 20 Sep 2014
Sir,Just give a clue that how it is possible: let suppose Pdf file contain:
Account# 345
i want to capture 345 from it..for example i can use regexp() to extract numbers only...Please help me...I have spend lots of my time on it..but doesn't succeed..Almost i have wasted a month for it....Thanks

Sign in to comment.

Accepted Answer

Jan
Jan on 21 Sep 2014
Assume you have a PDF file, which is displayed containing the string "Account# 345". Now different details impede the extraction of this string:
  • The contents can be compressed and/or encrypted, such that the string cannot be found in clear text inside the file.
  • Even without encryption or compression, the text need not be stored continously, but in a valid PDF each character can be stored with its paper position, such that the order does not matter.
In consequence searching a string in a PDF is not reliable. Therefore some OCR software is applied frequently to add an additional layer containing the contents as searchable strings. But as long as you do not specify any details of your PDF we cannot guess if they contain such strings.
Please notice, that your problem is not well defined and suggesting solutions is still based on guessing, although you've posted several corresponding questions in this forum. Finally the main problem is, that somebody decided to store data in PDF files, which is not sufficient for the later extraction of strings. Creating a large and complicatd workaround afterwards is an inefficient way. It would be more stable and faster to obtain the data in a more suitable format as a text file.
  5 Comments
Noam Greenboim
Noam Greenboim on 25 May 2015
A possible workaround is to convert the PDF to an Excel file, and then import that XLS file to Matlab. This is a relatively good solution for PDF's that contain tables of data.
If you take a look first at the Excel file, you might find ideas how to access the data you're interested in.
Yue Zhao
Yue Zhao on 30 Jun 2019
We will get a matrix if we use imread for a picture. How do we get the matrix of the PDF?

Sign in to comment.

More Answers (2)

mizuki
mizuki on 25 Apr 2018
From R2017b, we have extractFileText for reading text data from PDF files.

Walter Roberson
Walter Roberson on 25 May 2015

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!