Skip to main content

This module, part of the `abstract_essentials` package, provides a collection of utility functions for working with images and PDFs, including loading and saving images, extracting text from images, capturing screenshots, processing PDFs, and more.

Project description

abstract_images Module - Image and PDF Utilities

Part of the abstract_essentials Package

GitHub Repository: abstract_essentials
Contact Email: partners@abstractendeavors.com
Date: 08/27/2023
Version: 0.0.0.1

This module, part of the abstract_essentials package, provides a collection of utility functions for working with images and PDFs, including loading and saving images, extracting text from images, capturing screenshots, processing PDFs, and more.

Image Utilities - image_utils.py

The image_utils.py module contains functions for image-related operations.

Paths to Image Data:

  • get_dimensions(image_path: str): Return dimensions (height, width) of the image.
  • img_to_str(image_path: str): Convert image to text using pytesseract.
  • get_pix(image_path: str): Return pixel data of the image.
  • image_to_bytes(image_path: str, format: str = "PNG"): Convert an image to bytes.
  • get_pixel_data(image_path: str): Get pixel data from the image and save the resultant image.
  • open_image(image_path: str): Open and return the image using PIL.
  • read_image(image_path: str): Read image using OpenCV and return it as a numpy array.

Paths to Save:

  • save_url_img(url: str , image_path:str, format: str = "PNG"): Download an image from URL and save it.
  • screenshot(image_path: str = "screenshot.png"): Take a screenshot and save it.
  • save_image(image:Union[Image.Image, ndarray], image_path:str,format:str="PNG"): Save an image to the specified path.

Data to Image:

  • get_image_bytes(image_data: bytes): Convert image data in bytes format to a BytesIO stream.
  • pix_to_img(pixel_data: List[List[Tuple[int, int, int]]], image_path: str = "image.png"): Convert pixel data to an image and save it.
  • show_image(image: Union[Image.Image, ndarray]): Display an image.

PDF Utilities - pdf_utils.py

The pdf_utils.py module provides functions for PDF processing.

Function Descriptions:

  • if_none_return(obj, obj_2): Return primary object if secondary object is None.
  • write_pdf(): Initialize and return a new PDF writer object.
  • read_pdf(file): Read a PDF from a given path and return a PDF reader object.
  • is_pdf_path(file): Check if a file path corresponds to a valid PDF file.
  • get_pdf_obj(pdf_obj): Process a PDF object or file path and return its content.
  • split_pdf(input_path, output_folder, file_name): Split a PDF file into separate pages.
  • pdf_to_img_list(pdf_list, output_folder, file_name, paginate, extension): Convert PDF files into images.
  • img_to_txt_list(img_list, output_folder, file_name, paginate, extension): Convert images to text using OCR.
  • open_pdf_file(pdf_file_path): Open a PDF file using the default system application.
  • image_to_text(image_path): Convert an image to text using Tesseract OCR.
  • get_pdfs_in_directory(directory): Get a list of PDF filenames in a directory.
  • get_all_pdf_in_directory(file_directory): Get full paths of all PDFs in a directory.
  • collate_pdfs(pdf_list, output_pdf_path): Merge a list of PDFs into one.

Example Usage:

To showcase the pdf_utils module, here's an example combining several utility functions:

from abstract_images.pdf_utils import (
    get_file_name, get_directory, mkdirs, split_pdf, 
    pdf_to_img_list, img_to_txt_list
)

pdf_path = "path_to_pdf"
file_name = get_file_name(pdf_path)
directory = get_directory(pdf_path)
pdf_folder = mkdirs(os.path.join(directory, file_name))

pdf_split_folder = mkdirs(os.path.join(pdf_folder, "split"))
pdf_list = split_pdf(input_path=pdf_path, output_folder=pdf_split_folder, file_name=file_name)

pdf_Image_folder = mkdirs(os.path.join(pdf_folder, "images"))
img_list = pdf_to_img_list(pdf_list=pdf_list, output_folder=pdf_Image_folder, paginate=False, extension="png")

pdf_Text_folder = mkdirs(os.path.join(pdf_folder, "text"))
text_list = img_to_txt_list(img_list=img_list, output_folder=pdf_Text_folder, paginate=False, extension="txt")

Note:

For queries, bug reports, or feature requests, please raise an issue on the GitHub repository or contact us through the provided email: partners@abstractendeavors.com. Ensure that you have the required dependencies installed, and for OCR operations, ensure Tesseract is properly set up and its path is correctly specified.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

abstract_images-0.0.0.5-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file abstract_images-0.0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for abstract_images-0.0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 60b831060332bca0a74038803db0b16898d2db1b0556938cd0a6c29ae1a54c9f
MD5 334071ae41a42fbe609897976fb42520
BLAKE2b-256 a00c097b7ec51ba2e3e80d7e74a85a2a5130a04cd41d4f6f3626b186a5850222

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page