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():