python编写的一个简单那的WSGI PDF server 的代码

将开发过程比较常用的内容段备份一次,下边内容是关于python编写的一个简单那的WSGI PDF server 的内容。

# basic_wsgi_pdf_server.py
# Basic WSGI PDF server in Python.
# Adapted from:

from PDFWriter import PDFWriter
from wsgiref.simple_server import make_server

host = 'localhost'
port = 8888

def app(environ, start_response):
    path = environ['PATH_INFO']
    method = environ['REQUEST_METHOD']
    print "path:", path
    print "method:", method

    #response = 'This is the page for "{}"'.format(path)

    lines = [
            "Jack and Jill went up the hill",
            "Humpty Dumpty sat on a wall,",
            "'You are old, Father William,' the young man said,",
            "Master of all masters"
            ]

    pdf_filename = "Nursery-rhymes-and-stories.pdf"
    pw = PDFWriter(pdf_filename)
    pw.setFont("Courier", 12)
    pw.setHeader("Excerpts from nursery rhymes and stories")
    pw.setFooter("Generated by xtopdf and basic_wsgi_pdf_server")

    for line in lines:
        pw.writeLine(line)
        pw.writeLine(" ")
    pw.close()

    with open(pdf_filename, "rb") as fil:
        response = fil.read()

    #start_response('200 OK', [('Content-type', 'text/html')])
    start_response('200 OK', [('Content-type', 'application/pdf')])
    return [response]

make_server(host, port, app).serve_forever()

在命令行下运行下面的代码开启服务:

pythonbasic_wsgi_pdf_server.py

猜你喜欢

转载自blog.51cto.com/14142860/2348713