Fix Pillow deprecation warnings

This commit is contained in:
James Barlow
2022-04-03 13:30:50 -07:00
parent 04996caac3
commit f29fe7f23e
4 changed files with 21 additions and 7 deletions
+12 -3
View File
@@ -24,6 +24,15 @@ from ocrmypdf.exceptions import MissingDependencyError, SubprocessOutputError
from ocrmypdf.helpers import Resolution
from ocrmypdf.subprocess import get_version, run, run_polling_stderr
try:
ROTATE_90 = Image.Transpose.ROTATE_90
ROTATE_180 = Image.Transpose.ROTATE_180
ROTATE_270 = Image.Transpose.ROTATE_270
except AttributeError:
ROTATE_90 = Image.ROTATE_90
ROTATE_180 = Image.ROTATE_180
ROTATE_270 = Image.ROTATE_270
log = logging.getLogger(__name__)
missing_gs_error = """
@@ -132,11 +141,11 @@ def rasterize_pdf(
# rotation is a clockwise angle and Image.ROTATE_* is
# counterclockwise so this cancels out the rotation
if rotation == 90:
im = im.transpose(Image.ROTATE_90)
im = im.transpose(ROTATE_90)
elif rotation == 180:
im = im.transpose(Image.ROTATE_180)
im = im.transpose(ROTATE_180)
elif rotation == 270:
im = im.transpose(Image.ROTATE_270)
im = im.transpose(ROTATE_270)
if rotation % 180 == 90:
page_dpi = page_dpi.flip_axis()
im.save(fspath(output_file), dpi=page_dpi)
+6 -1
View File
@@ -38,6 +38,11 @@ from ocrmypdf.optimize import optimize
from ocrmypdf.pdfa import generate_pdfa_ps
from ocrmypdf.pdfinfo import Colorspace, Encoding, PdfInfo
try:
BICUBIC = Image.Resampling.BICUBIC
except AttributeError:
BICUBIC = Image.BICUBIC
log = logging.getLogger(__name__)
VECTOR_PAGE_DPI = 400
@@ -484,7 +489,7 @@ def preprocess_deskew(input_file: Path, page_context: PageContext):
# According to Pillow docs, .rotate() will automatically use Image.NEAREST
# resampling if image is mode '1' or 'P'
deskewed = im.rotate(
deskew_angle_degrees, resample=Image.BICUBIC, fillcolor='white'
deskew_angle_degrees, resample=BICUBIC, fillcolor='white'
)
deskewed.save(output_file, dpi=dpi)