convert pdf to png

Diez B. Roggisch deets at nospam.web.de
Tue Dec 25 11:25:50 EST 2007


Carl K schrieb:
> Grant Edwards wrote:
>> On 2007-12-24, Carl K <carl at personnelware.com> wrote:
>>
>>>> If it is a multi page pdf Imagemagick will do:
>>>>
>>>> convert file.pdf page-%03d.png
>>> I need python code to do this.  It is going to be run on a
>>> someone else's shared host web server, security and
>>> performance is an issue.  So I would rather not run stuff via
>>> popen.
>>
>> Use subprocess.
>>
>> Trying to eliminate popen because of the overhead when running
>> ghostscript to render PDF (I assume convert uses gs?) is about
>> like trimming an elephants toenails to save weight.
>>
> 
> maybe, but I wouldn't be so sure.
> 
> currently the pdf is created in a python StringIO buffer and returned to 
> the browser;  so it never becomes a file.  using convert means I have to 
> first save it as a file, convert from file to file, read the file, 
> delete the 2 files. so 6 file operations where before there were none.  
> That may be more of a load than the ghostscript part.

So what? I'm not sure about current HD speeds, but a couple of years ago 
these were about 30MByte/s - and should be faster today. Which equals 
240MBit/s, much more than your user's internet connection. and this is 
raw IO speed, not counting disk caches.

In other words: given the overall latency of a network connection, your 
  file operations shouldn't shave off more than a split-second. So if 
you _can_ go the subprocess-road, do it. It's the easiest way. And 
withou further knowledge of the GS-library (that you lack, as do I) - 
how do you know that it works "in memory", and doesn't actually expect a 
file-name or pointer?

Diez



More information about the Python-list mailing list