def resize_and_convert_to_bytes()

in src/pre_human_task_lambda.py [0:0]


def resize_and_convert_to_bytes(pdf_bytes: bytes, page_number: int, dims=None):
    """Return PNG bytes of a PDF, resizing if necessary to account for Textract API max limit."""
    print(f"len of pdf_byte_value = {len(pdf_bytes)}")
    png_byte_value = convert_to_png_bytes(pdf_bytes, page_number, dims=dims)
    print(f"len of initial png_byte_value pre-resize = {len(png_byte_value)}")
    filesize = len(png_byte_value)
    if filesize > TEXTRACT_BYTE_LIMIT and dims:
        ratio_change = TEXTRACT_BYTE_LIMIT / filesize
        new_width = dims[0] * ratio_change
        new_height = dims[1] * ratio_change
        png_byte_value = convert_to_png_bytes(pdf_bytes, page_number, (new_width, new_height))
    return png_byte_value