diff options
author | yvesf <yvesf-git@xapek.org> | 2010-11-21 23:07:50 +0100 |
---|---|---|
committer | yvesf <yvesf-git@xapek.org> | 2010-11-21 23:07:50 +0100 |
commit | d84019f18c1f928d628c48e087bce41933fc1860 (patch) | |
tree | a596a33c6f18db1711877e2c02c5bf3588b27f02 | |
parent | 1c34f8b6824b38c5a2698bbbd27a7aa7df51da9c (diff) | |
download | booksearch-d84019f18c1f928d628c48e087bce41933fc1860.tar.gz booksearch-d84019f18c1f928d628c48e087bce41933fc1860.zip |
pdf -> jpeg mit convert/popen
-rw-r--r-- | web.py | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -13,6 +13,7 @@ import whoosh.query as query import flask import pyPdf import werkzeug +import subprocess app = flask.Flask("booksearch") @@ -31,6 +32,27 @@ def do_download_file(docnum): filename=os.path.basename(document['path'])) return r +@app.route("/test") +def test(): + input = pyPdf.PdfFileReader(file("test.pdf", 'r')) + page = input.getPage(0) + out = pyPdf.PdfFileWriter() + out.addPage(page) + pdffile = StringIO() + out.write(pdffile) + process = subprocess.Popen(["/usr/bin/convert", "pdf:-", "jpeg:-"], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + outjpg = StringIO() + pdffile.seek(0) + while not process.stdin.closed: + print "." + stdout, stderr = process.communicate(pdffile.read()) + if not stdout: + break + outjpg.write(stdout) + outjpg.seek(0) + r = werkzeug.Response(outjpg, mimetype="image/jpeg") + return r + @app.route("/download/page/<int:docnum>/<int:page>", methods=["GET"]) def do_download_page(docnum,page): document = index.reader().stored_fields(docnum) |