简体   繁体   中英

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:

import PyPDF2
pdfFileObj = open('path', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
pageObj.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?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM