How to generate pdf file from an html page??

Grant Edwards grante at visi.com
Wed Dec 19 11:17:04 EST 2007


On 2007-12-19, Terry Jones <terry at jon.es> wrote:
>>>>>> "Grant" == Grant Edwards <grante at visi.com> writes:
>Grant> On 2007-12-19, abhishek <guptaabhishek1983 at gmail.com> wrote:
>>>> > Hi everyone, I am trying to generate a PDF printable format file from
>>>> > an html page. Is there a way to do this using python. If yes then
>>>> > which library and functions are required and if no then reasons why it
>>>> > cant be done.
>>>> 
>>>> Here's one way:
>>>> 
>>>> ------------------------------html2pdf.py-----------------------------------------
>>>> #!/usr/bin/python
>>>> import os,sys
>>>> 
>>>> inputFilename,outputFilename = sys.argv[1:3]
>>>> 
>>>> os.system("w3m -dump %s | a2ps -B --borders=no | ps2pdf - %s" % (inputFilename,outputFilename))
>
> Note that this is highly insecure. outputFilename could be passed e.g., as
>
>   /tmp/file.pdf; rm -fr /home/abhishek

Here's a half-assed solution:

inputFilename = inputFilename.replace("'","")
outputFilename = outputFilename.replace("'","")

os.system("w3m -dump '%s' | a2ps -B --borders=no | ps2pdf - '%s'" % (inputFilename,outputFilename))

As somebody else suggested, building the pipeline "by hand"
using the subprocess module is the most bullet-proof method.

-- 
Grant Edwards                   grante             Yow! I brought my BOWLING
                                  at               BALL -- and some DRUGS!!
                               visi.com            



More information about the Python-list mailing list