Compare commits

..

2 commits

View file

@ -1312,18 +1312,21 @@ def get_imgmetadata(
imgwidthpx, imgheightpx = imgdata.size imgwidthpx, imgheightpx = imgdata.size
ndpi = imgdata.info.get("dpi") ndpi = imgdata.info.get("dpi")
if ndpi is None: # the PNG plugin of PIL adds the undocumented "aspect" field instead of
# the PNG plugin of PIL adds the undocumented "aspect" field instead of # the "dpi" field if the PNG pHYs chunk unit is not set to meters
# the "dpi" field if the PNG pHYs chunk unit is not set to meters if (
if imgformat == ImageFormat.PNG and imgdata.info.get("aspect") is not None: ndpi is None
aspect = imgdata.info["aspect"] and imgformat == ImageFormat.PNG
# make sure not to go below the default dpi and imgdata.info.get("aspect") is not None
if aspect[0] > aspect[1]: ):
ndpi = (default_dpi * aspect[0] / aspect[1], default_dpi) aspect = imgdata.info["aspect"]
else: # make sure not to go below the default dpi
ndpi = (default_dpi, default_dpi * aspect[1] / aspect[0]) if aspect[0] > aspect[1]:
ndpi = (default_dpi * aspect[0] / aspect[1], default_dpi)
else: else:
ndpi = (default_dpi, default_dpi) ndpi = (default_dpi, default_dpi * aspect[1] / aspect[0])
else:
ndpi = (default_dpi, default_dpi)
# In python3, the returned dpi value for some tiff images will # In python3, the returned dpi value for some tiff images will
# not be an integer but a float. To make the behaviour of # not be an integer but a float. To make the behaviour of
# img2pdf the same between python2 and python3, we convert that # img2pdf the same between python2 and python3, we convert that