From 6510bcad1995f2eb6defe9cce9cc1b56372bad7e Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Tue, 9 Feb 2016 02:18:54 -0800 Subject: [PATCH] DPI information not transferred automatically from PNG to JPEG --- ocrmypdf/main.py | 3 ++- tests/test_main.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ocrmypdf/main.py b/ocrmypdf/main.py index b98a165f..fb0ce12f 100755 --- a/ocrmypdf/main.py +++ b/ocrmypdf/main.py @@ -670,7 +670,8 @@ def select_image_for_pdf( pageinfo = get_pageinfo(image, pdfinfo, pdfinfo_lock) if all(image['enc'] == 'jpeg' for image in pageinfo['images']): # If all images were JPEGs originally, produce a JPEG as output - Image.open(image).save(output_file, format='JPEG') + im = Image.open(image) + im.save(output_file, format='JPEG', dpi=im.info['dpi']) else: re_symlink(image, output_file) diff --git a/tests/test_main.py b/tests/test_main.py index 7da74a6a..7f48727d 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -202,14 +202,14 @@ def test_override_metadata(spoof_tesseract_noop): ]) def test_oversample(spoof_tesseract_cache, renderer): oversampled_pdf = check_ocrmypdf( - 'skew.pdf', 'test_oversample_%s.pdf' % renderer, '--oversample', '300', + 'skew.pdf', 'test_oversample_%s.pdf' % renderer, '--oversample', '350', '-f', '--pdf-renderer', renderer, env=spoof_tesseract_cache) pdfinfo = pdf_get_all_pageinfo(oversampled_pdf) print(pdfinfo[0]['xres']) - assert abs(pdfinfo[0]['xres'] - 300) < 1 + assert abs(pdfinfo[0]['xres'] - 350) < 1 def test_repeat_ocr():