pdfalign
pdfalign is a very simple tool to extract text from a pdf in a grid aligned format. This is especially useful in table extraction pipelines.
Some use cases include invoice data extraction and pdf processing for rag systems.
The simple algorithm that pdfalign uses is the meanshift algorithm to group text blocks together and to align grids. In some scenarios this may produce very sparse documents / tests.
In most cases this is however not a problem for llms to handle
Features
- Tesseract support: Can use tesseract automatically, if no text is detected on a pdf page.
- Image support: Not only works with pdfs but also with for example scan copys of invoices.
- Output as a pandas dataframe: One of the outputs is a pandas dataframe which can be used for further processing / transformations.
Installation
Install pdfalign using pip:
pip install pdfalign
Usage
Here's a quick example on how to use PDFalign to extract grid aligned text from a PDF file:
from pdfalign import align
pages = align("sample.pdf", force_tesseract=False, tesseract_params=None)
for page in pages:
print(page['text'])
print(page['dataframe'])
If you want to use an Image
you have to make sure that pytesseract
is installed. Here is the code for that:
from pdfalign import align
img = Image("sample.jpg")
text, dataframe = align(img)
You may refer to tutorial for more details
License
This project is licensed under the MIT License - see the LICENSE file for details.