[guardian-dev] sanitizing PNGs
Hans-Christoph Steiner
hans at guardianproject.info
Tue Dec 12 11:25:32 EST 2017
pyexiftool is just a wrapper for exiftool. exiftool looks great, but
for my use case, I only need to strip all metadata. It would be much
easier if that was in pure Python and pure Java. perl is a no go on
Android.
It was dead simple to strip EXIF from JPEG in Python:
from pil import Image
with open(inpath) as fp:
in_image = Image.open(fp)
data = list(in_image.getdata())
out_image = Image.new(in_image.mode, in_image.size)
out_image.putdata(data)
out_image.save(outpath)
But that broke some PNGs, and the rest were larger in size.
.hc
Rick Valenzuela:
> oh, you may already know this, but the previous code keeps a copy of the
> file and metadata. if you want it gone with no copies, you have to add a
> switch to overwrite, e.g.:
>
> ```
> with exiftool.ExifTool() as et:
> et.execute(b'-all=', b'-overwrite_original', b'some.png')
> ```
>
> On 12/12/2017 23:45, Rick Valenzuela wrote:
>> heh, nice -- I just found this:
>>
>> https://github.com/smarnach/pyexiftool
>>
>> Tried it out and it worked great:
>> ```
>> with exiftool.ExifTool() as et:
>> et.execute(b'-all=', b'some.png')
>> ```
>>
>> On 12/12/2017 19:53, Hans-Christoph Steiner wrote:
>>>
>>> Ah, cool, I thought exiftool only worked with JPEGs. It seems to work
>>> with just about every image format. Now the open question is how to
>>> strip all PNG metadata with Python and Java.
>>>
>>> .hc
>>>
>>> Rick Valenzuela:
>>>> does exiftool do what you need?
>>>>
>>>> `exiftool -all= <some.PNG>`
>>>>
>>>> On 11/12/2017 17:57, Hans-Christoph Steiner wrote:
>>>>>
>>>>> Anyone know any tools for sanitizing PNGs without touching the
>>>>> compressed image data? With JPEG it is easy to strip out EXIF with
>>>>> python-pil or many other tools. I haven't found a simple, clean approach
>>>>> in Python for PNGs.
>>>>>
>>>>> .hc
>>>>>
>>>>
>>>
>>
>
--
PGP fingerprint: EE66 20C7 136B 0D2C 456C 0A4D E9E2 8DEA 00AA 5556
https://pgp.mit.edu/pks/lookup?op=vindex&search=0xE9E28DEA00AA5556
More information about the guardian-dev
mailing list