如何在不下载文件的情况下在view.html中阅读pdf

时间:2015-07-28 07:16:56

标签: python web2py

我试图在没有下载pdf的情况下阅读html中的pdf文件。下码适用于图像。我希望阅读pdf代替图像。是可能的。

db.define_table('mytable',
          Field('image', type='upload'))

控制器

def tables(): 
   return dict(tables=db().select(db.mytable.ALL))

查看

{{for table in tables:}}
    <img src="{{=URL('default', 'download', args=table.image)}}" /> <br /> 
{{pass}}

1 个答案:

答案 0 :(得分:0)

您可以从PDF创建一个png。 PDF不是浏览器可以用HTML呈现的东西(确保Chrome和Firefox可以打开PDF;但这是全屏,只有pdf本身;例如另一个URL)。可能超出范围:在某些项目中,我使用crontab将上传的PDF转换为jpg以提供预览:

#Render all PDF's to thumb when no thumb is found
#convert -thumbnail x600 -background white "1.pdf"[0] "1.jpg"
import os,sys

OVERWRITE_EXISTING=False
PDFDIR='uploads'
THUMBDIR=os.path.join('static','thumbs')

import glob
import os

def insensitive_glob(pattern):
    def either(c):
        return '[%s%s]'%(c.lower(),c.upper()) if c.isalpha() else c
    return glob.glob(''.join(map(either,pattern)))

#get all the pdf file names in the current folder
os.chdir('uploads')
files = insensitive_glob("*.pdf")
# and convert each file if needed
for f in files:
    convert_needed=True
    newFile=os.path.join('..',THUMBDIR,'%s.jpg' % f[:-4])
    if not OVERWRITE_EXISTING:
        if os.path.exists(newFile):
            #print 'Warning:: .jpg already exists; skipping %s' % f 
            convert_needed=False
    if convert_needed:
        cmd='convert -density 144 %s[0] %s' % (f,newFile)
        print "Converting with: %s" % cmd
        os.system(cmd)