'How to extract text from a Specific Area in a PDF using Python?
I'm trying to extract Text from a PDF using Python, and I have successfully done so using PyPDF2 like this:
from PyPDF2 import PdfFileReader
reader = PdfFileReader('path.pdf')
page = reader.getPage(0)
page.extractText()
This extracts all the Text from the Page, but I want to extract the text only from a Rectangular region of 3'x4' at the top-left part of the page.
I Basically want to do something like :How-to extract text from a pdf doc within a specific rectangular region? but in Python
Can this be done by PyPDF2 or by any other Python Library?
Solution 1:[1]
This is a rather complex topic, but it is possible. First you need to get familiar with the pdf format descripton.
Start here for example.
You can identify the location and contents of the text boxes and extract the string data.
This topic holds examples for pyPdf, the previous version of PyPDF2, but syntax is similar. There are examples on how to iterate through the indirect objects.
A good place to start is also the source of the function pageObj.extractText() that you used.
If you are not restricted to Python: How to extract text from a PDF?
You can also use a tool like iText RUPS to inspect the pdf. It shows how the content is rendered and placed on the page:
Afterwards you should be able to identify and address the elements and extract their content.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |