well... if a pdf needs to be viewed within a browser, there is always
flex. Although, Flex it self will not support PDF (because the reader
and the flash layer live separately), there are workarounds with
either flex-iframe (http://code.google.com/p/flex-iframe/) or
flexpaper (http://flexpaper.devaldi.com/) which seem to have done a
very good job where Adobe has clearly failed.

AIR is a good alternative if you don't mind having the pdf open in a
desktop version of flex. Here's an example of a very basic pdfViewer
with AIR.

if(HTMLLoader.pdfCapability == HTMLPDFCapability.STATUS_OK){
       var htmlLoader:HTMLLoader = new HTMLLoader();
       var url:URLRequest = new URLRequest(pathUrl); //URL to the file
       htmlLoader.width = windowWidth;
       htmlLoader.height = windowHeight;
       htmlLoader.load(url);

       //UIComponent
       var pdfViewer:UIComponent = new UIComponent();
       holder.addChild(htmlLoader);
       addChild(pdfViewer);
      }


Mart :)




On Dec 14, 11:57 am, Bruno Rocha <rochacbr...@gmail.com> wrote:
> For security reasons, web2py does not expose the 'uploads' folder to the
> user, this folder can be accessed only by the 'download' function.
>
> You can do that:
>
> change the upload folder with 'uploadfolder' parameter.
>
> <model>
> db.define_table('pdfs',
>
> Field('file','upload',uploadfolder=request.folder+'static/pdfs')
>                        )
> </model>
>
> Create a viewer function wich redirects the user direct to the file, then,
> if the user has adobe acrobat plugin to view the file in browser, this file
> will be shown in the browser, else, will be downloaded.
>
> <controller>
> def viewer():
>     row = db(db.pdfs.id==request.args(0)).select(db.pdfs.file).first()
>     redirect(URL('static','pdfs',args=row.file))
> </controller>
>
> Now you can call this as:
>
> http://127.0.0.1:8000/pdfs/default/viewer/3#record id
>
> which redirects the user 
> to:http://127.0.0.1:8000/pdfs/static/pdfs/pdfs.file.aaf5d3f7779841d0.6e6...
>
> --
>
> Bruno Rochahttp://about.me/rochacbruno/bio
>
> 2010/12/14 azarkowsky <azarkow...@gmail.com>
>
> > In my web2py application I'm allowing users to upload PDF documents
> > (via an upload field) and then on another page I provide a download
> > link, however, I think because of the file renaming security feature
> > these PDF documents are truly being downloaded again (saved locally to
> > each user's desktop) instead of just displayed in a new browser window
> > as is the case with most other PDFs I encounter on other websites.  Is
> > there any way to provide a link directly to a file that was uploaded
> > so the browser can display it without having to download the file
> > again?
>
> > Thanks,
> > Adam
>
>

Reply via email to