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 <[email protected]> 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 <[email protected]>
>
> > 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
>
>